Menu
CoddyTech

ערכי ברירת מחדל

חלק מהיחידה יסודות במסלול ה-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".

challenge icon

אתגר

קל

התוכנית קוראת שם של שחקן לתוך player.

  1. מתחת ל־_ready(), הכריזו על פונקציה בשם greet עם שני פרמטרים: player_name, ו־greeting עם ערך ברירת המחדל "Hello". היא מדפיסה את הברכה, פסיק ורווח, את השם, ואת !.
  2. בתוך _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" כברכת ברירת המחדל
quiz iconבחנו את עצמכם

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

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

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