Menu
CoddyTech

פקודת Match

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

הפקודה match משווה ערך אחד לרשימת תבניות ומריצה את הבלוק של התבנית הראשונה שתואמת. היא מחליפה שרשרת ארוכה של if/elif שמשווה את אותו משתנה:

var day := 3
match day:
	1:
		print("Monday")
	2, 3:
		print("Midweek")
	_:
		print("Other day")

פעולה זו מדפיסה Midweek.

  • כל תבנית מסתיימת בנקודתיים, והקוד שלה מוזח ברמה אחת פנימה
  • כמה ערכים המופרדים בפסיקים חולקים בלוק אחד: 2, 3:
  • _ הוא תו כללי: הוא מתאים לכל ערך, ולכן הוא מופיע אחרון, כמו else

רק הבלוק הראשון שמתאים מופעל. GDScript לא ממשיך לתבנית הבאה, ולכן אין צורך לכתוב break. אם אף תבנית אינה מתאימה ואין _, שום דבר לא מופעל.

דפוסים יכולים להיות גם מחרוזות:

var weapon := "bow"
match weapon:
	"sword":
		print("Melee")
	"bow", "crossbow":
		print("Ranged")
	_:
		print("Unknown")
challenge icon

אתגר

קל

המשתנה season מכיל שם של עונה. כתוב משפט match שמדפיס פעילות עבורה:

  • "Spring": הדפס Go hiking
  • "Summer": הדפס Go swimming
  • "Fall" או "Autumn": הדפס Go apple picking (תבנית אחת עם שני הערכים)
  • "Winter": הדפס Go skiing
  • כל ערך אחר: הדפס Stay home

כתוב את כל המקרים. כאשר season מוגדר ל-"Autumn", הפלט הוא:

Go apple picking

נסו בעצמכם

extends Node

func _ready():
	var season := "Autumn"
	# כתבו את פקודת ה־match שלכם למטה
	pass
quiz iconבחנו את עצמכם

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

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

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