Menu
CoddyTech

ערכי מנייה

חלק מהיחידה לוגיקה וזרימת תוכנית במסלול ה-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]) # 4

for day_name in Day: עוברת על השמות, כמו לולאה על מילון.

challenge icon

אתגר

קל

הסקריפט מצהיר על המנייה Day, מ-MONDAY עד SUNDAY. התוכנית קוראת שתי שורות: שם של יום באותיות גדולות ומספר ימים (מספר שלם, 0 או יותר).

הדפיסו שתי שורות:

  1. השם, has the value והערך של אותו יום במנייה
  2. 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
quiz iconבחנו את עצמכם

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

כל השיעורים ביחידה לוגיקה וזרימת תוכנית

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