הגדרת פונקציה
חלק מהיחידה יסודות במסלול ה-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, כמו שמות משתנים.
אתגר
קלהתוכנית קוראת מספר שלם n ויש בה לולאה שרצה n פעמים.
- מתחת ל־
_ready(), הגדירו פונקציה בשםprint_large_numberשמדפיסה את המספר50005000. - בתוך הלולאה, החליפו את
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() למטה
השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.
כל השיעורים ביחידה יסודות
4אופרטורים חלק 1
אופרטורים אריתמטייםחלוקה שלמהאופרטור מודולוקיצורי דרך אריתמטייםסיכום – חשבון פשוטאופרטורי השוואה10פונקציות
הגדרת פונקציהארגומנטיםהחזרהטיפוסי החזרהסיכום – פונקציית סיגמאסיכום – פונקציית אימותערכי ברירת מחדלתרגלו בעצמכם: קומפיילר GDScript אונליין