ערכי מנייה
חלק מהיחידה לוגיקה וזרימת תוכנית במסלול ה-GDScript של Coddy. שיעור 39 מתוך 78.
כל אפשרות ב-enum היא int, כך שאפשר להשוות בין אפשרויות ולחשב איתן:
enum Day { MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY }
func _ready():
print(Day.FRIDAY) # 4
print(Day.SATURDAY > Day.FRIDAY) # true
print(Day.FRIDAY + 1) # 5ה-enum עצמו פועל כמו מילון משמות לערכים. keys() מחזירה את השמות לפי הסדר, values() את הערכים, ו-size() את מספר האפשרויות:
print(Day.keys()) # ["MONDAY", "TUESDAY", ..., "SUNDAY"]
print(Day.size()) # 7כדי להדפיס את השם של ערך, השתמשו בו כאינדקס של keys(). זה עובד כאשר לאפשרויות יש את ערכי ברירת המחדל 0, 1, 2... עבור enum עם ערכים שנבחרו, השתמשו ב־find_key(), שמחזירה את השם של ערך:
var today := Day.SATURDAY
print(Day.keys()[today]) # SATURDAYכאשר enum Coin { COPPER = 1, SILVER = 10 } נמצא ברמה העליונה, Coin.keys()[10] נמצא מחוץ לטווח, בעוד ש-find_key() פועל:
print(Coin.find_key(10)) # SILVERכדי לעשות את הדרך ההפוכה, משם ששמור כטקסט לערך שלו, השתמש בסוגריים מרובעים. בדוק קודם את השם באמצעות has(): שם שלא נמצא ב־enum הוא שגיאה.
var text := "FRIDAY"
if Day.has(text):
print(Day[text]) # 4for day_name in Day: עוברת על השמות, כמו לולאה על מילון.
אתגר
קלהסקריפט מצהיר על המנייה Day, מ-MONDAY עד SUNDAY. התוכנית קוראת שתי שורות: שם של יום באותיות גדולות ומספר ימים (מספר שלם, 0 או יותר).
הדפיסו שתי שורות:
- השם,
has the valueוהערך של אותו יום במנייה In, המספר,days:ושם היום שיחול מספר הימים הזה לאחר מכן
אחרי SUNDAY השבוע מתחיל מחדש ב-MONDAY. עבור הקלטים FRIDAY ו-3, הפלט הוא:
FRIDAY has the value 4
In 3 days: MONDAYנסו בעצמכם
extends Node
enum Day { MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY }
func _ready():
var day_name := OS.read_string_from_stdin()
var days := int(OS.read_string_from_stdin())
# הדפס את הערך של היום ואת הערך של היום שיחול לאחר מספר הימים הזה
pass
השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.
כל השיעורים ביחידה לוגיקה וזרימת תוכנית
2קבלת החלטות מתקדמת
התאמה עם משתניםתנאי סף להתאמהתבניות מערכיםתבניות מילוניםבדיקות חברותסיכום – מנתח פקודות5אפליקציית ספר אנשי קשר
הצגת התפריטהוספת איש קשר8מנהל רשומות תלמידים
סקירת הפרויקטהוספת תלמידתרגלו בעצמכם: קומפיילר GDScript אונליין