Menu
CoddyTech

החזרה

חלק מהיחידה יסודות במסלול ה-GDScript של Coddy. שיעור 53 מתוך 92.

הפקודה return מחזירה ערך מפונקציה לקוד שקרא לה. הקריאה מייצגת אז את הערך הזה:

func get_max_hp():
	return 100
var hp: int = get_max_hp()
print(hp)

hp מכיל את 100, הערך שהפונקציה החזירה, ולכן התוכנית מדפיסה 100.

פונקציה עם פרמטרים יכולה להחזיר תוצאה שחושבה מהם. אפשר לאחסן את התוצאה, להדפיס אותה או להשתמש בה בביטוי:

func square(n):
	return n * n
print(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(). בשיעור הבא נראה איך פונקציה מצהירה על טיפוס ההחזרה שלה.

challenge icon

אתגר

קל
  1. מתחת ל-_ready(), הגדירי פונקציה בשם square_number עם פרמטר אחד בשם n. היא מחזירה את n * n.
  2. ב-_ready(), קראי ל-square_number() עם input_num ושמרי את הערך המוחזר במשתנה בשם result.
  3. הדפיסי את 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
quiz iconבחנו את עצמכם

השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.

כל השיעורים ביחידה יסודות

תרגלו בעצמכם: קומפיילר GDScript אונליין