ערכי ברירת מחדל
חלק מהיחידה יסודות במסלול ה-GDScript של Coddy. שיעור 57 מתוך 92.
לפרמטר יכול להיות ערך ברירת מחדל, שנכתב באמצעות = בהצהרה. לאחר מכן, אפשר להשמיט את הארגומנט הזה בקריאה, והפרמטר יקבל את ערך ברירת המחדל:
func greet(player, greeting = "Hello"):
print(greeting, ", ", player, "!")greet("Ana")
greet("Ana", "Welcome back")Hello, Ana!
Welcome back, Ana!הקריאה הראשונה מעבירה ארגומנט אחד, ולכן greeting הוא "Hello". הקריאה השנייה מעבירה ערך משלה, שמחליף את ערך ברירת המחדל.
לפונקציה יכולים להיות כמה ערכי ברירת מחדל, וגם לפרמטרים מטיפוס מוגדר יכולים להיות ערכים כאלה:
func spawn(enemy: String, count: int = 1, speed: float = 2.5) -> void:
print(count, " x ", enemy, " at speed ", speed)spawn("bat") מדפיסה 1 x bat at speed 2.5, ו־spawn("bat", 3) מדפיסה 3 x bat at speed 2.5. הארגומנטים עדיין ממלאים את הפרמטרים לפי הסדר, כך שאי אפשר להעביר את speed בלי להעביר גם את count.
פרמטרים עם ערך ברירת מחדל חייבים לבוא אחרי אלה שאין להם. func greet(greeting = "Hello", player): היא שגיאה: "Cannot have mandatory parameters after optional parameters".
אתגר
קלהתוכנית קוראת שם של שחקן לתוך player.
- מתחת ל־
_ready(), הכריזו על פונקציה בשםgreetעם שני פרמטרים:player_name, ו־greetingעם ערך ברירת המחדל"Hello". היא מדפיסה את הברכה, פסיק ורווח, את השם, ואת!. - בתוך
_ready(), קראו ל־greet(player), ואז ל־greet(player, "Welcome back").
עבור הקלט Ana, הפלט הוא:
Hello, Ana!
Welcome back, Ana!נסו בעצמכם
extends Node
func _ready():
var player := OS.read_string_from_stdin()
# קרא ל־greet(player), ואז ל־greet(player, "Welcome back")
# הגדר את greet() למטה, עם "Hello" כברכת ברירת המחדל
השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.
כל השיעורים ביחידה יסודות
4אופרטורים חלק 1
אופרטורים אריתמטייםחלוקה שלמהאופרטור מודולוקיצורי דרך אריתמטייםסיכום – חשבון פשוטאופרטורי השוואה10פונקציות
הגדרת פונקציהארגומנטיםהחזרהטיפוסי החזרהסיכום – פונקציית סיגמאסיכום – פונקציית אימותערכי ברירת מחדלתרגלו בעצמכם: קומפיילר GDScript אונליין