החזרה
חלק מהיחידה יסודות במסלול ה-GDScript של Coddy. שיעור 53 מתוך 92.
הפקודה return מחזירה ערך מפונקציה לקוד שקרא לה. הקריאה מייצגת אז את הערך הזה:
func get_max_hp():
return 100var hp: int = get_max_hp()
print(hp)hp מכיל את 100, הערך שהפונקציה החזירה, ולכן התוכנית מדפיסה 100.
פונקציה עם פרמטרים יכולה להחזיר תוצאה שחושבה מהם. אפשר לאחסן את התוצאה, להדפיס אותה או להשתמש בה בביטוי:
func square(n):
return n * nprint(square(4))
print(square(3) + 1)16
10גם return מסיים את הפונקציה. השורות שאחריו באותו בלוק לא מתבצעות:
func check_age(age):
if age >= 18:
return "adult"
return "minor"check_age(20) מחזירה "adult" ועוצרת. check_age(12) מדלגת על בלוק ה־if ומחזירה "minor".
פונקציה ללא return מחזירה null.
הפונקציות האלה לא מציינות איזה טיפוס הן מחזירות, ולכן GDScript לא יכול להסיק מהן טיפוס: var hp := get_max_hp() היא שגיאה. כתבו בעצמכם את הטיפוס של המשתנה, כמו ב־var hp: int = get_max_hp(). בשיעור הבא נראה איך פונקציה מצהירה על טיפוס ההחזרה שלה.
אתגר
קל- מתחת ל-
_ready(), הגדירי פונקציה בשםsquare_numberעם פרמטר אחד בשםn. היא מחזירה אתn * n. - ב-
_ready(), קראי ל-square_number()עםinput_numושמרי את הערך המוחזר במשתנה בשםresult. - הדפיסי את
result.
עבור הקלט 5, הפלט הוא:
25נסו בעצמכם
extends Node
func _ready():
var input_num := int(OS.read_string_from_stdin())
# אחסן את square_number(input_num) ב-result, ואז הדפס את result
# הגדר את square_number(n) למטה: היא מחזירה n * n
השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.
כל השיעורים ביחידה יסודות
4אופרטורים חלק 1
אופרטורים אריתמטייםחלוקה שלמהאופרטור מודולוקיצורי דרך אריתמטייםסיכום – חשבון פשוטאופרטורי השוואהתרגלו בעצמכם: קומפיילר GDScript אונליין