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