Menu
CoddyTech

הגדרת פונקציה

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

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

התבוננו בקוד הזה:

print("Welcome to Coddy")
print("New session...")
print("Welcome to Coddy")
print("Another session...")
print("Welcome to Coddy")

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

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

func greet():
	print("Welcome to Coddy")

אתה כבר מכיר פונקציה אחת: _ready(), שאותה Godot קוראת כשהתוכנית מתחילה. הפונקציות שלך מוגדרות ברמה העליונה של הקובץ, לצד _ready() ולא בתוכה. כדי לקרוא לפונקציה, כתוב את שמה ולאחריו סוגריים:

extends Node

func _ready():
	greet()
	print("New session...")
	greet()
	print("Another session...")
	greet()

func greet():
	print("Welcome to Coddy")

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

לסדר הפונקציות בקובץ אין חשיבות: _ready() יכולה לקרוא לפונקציה שנכתבה מתחתיה. שמות פונקציות נכתבים ב־snake_case, כמו שמות משתנים.

challenge icon

אתגר

קל

התוכנית קוראת מספר שלם n ויש בה לולאה שרצה n פעמים.

  1. מתחת ל־_ready(), הגדירו פונקציה בשם print_large_number שמדפיסה את המספר 50005000.
  2. בתוך הלולאה, החליפו את pass בקריאה ל־print_large_number().

עבור הקלט 3, הפלט הוא:

50005000
50005000
50005000

נסו בעצמכם

extends Node

func _ready():
	var n := int(OS.read_string_from_stdin())
	for i in range(n):
		# קראו ל־print_large_number() כאן
		pass

# הגדירו את הפונקציה print_large_number() למטה
quiz iconבחנו את עצמכם

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

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

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