שיטות של מילונים
חלק מהיחידה יסודות במסלול ה-GDScript של Coddy. שיעור 80 מתוך 92.
למילונים יש מתודות שמספרות לך מה הם מכילים.
keys() מחזירה מערך של המפתחות, ו-values() מחזירה מערך של הערכים, לפי סדר הזוגות:
var player := {"name": "Mia", "hp": 100, "level": 3}
print(player.keys()) # ["name", "hp", "level"]
print(player.values()) # ["Mia", 100, 3]has() בודקת אם קיים מפתח. האופרטור in מבצע את אותה בדיקה:
print(player.has("hp")) # true
print(player.has("mana")) # false
print("level" in player) # truesize() מחזירה את מספר הזוגות, ו־is_empty() בודקת אם אין זוגות:
print(player.size()) # 3
print(player.is_empty()) # false
var bag := {}
print(bag.is_empty()) # truehas() ו-in בודקים רק את המפתחות, לעולם לא את הערכים: player.has("Mia") הוא false.
אתגר
קלהתוכנית קוראת שתי שורות קלט: רשימה של זוגות הכתובים בצורה key:value ומופרדים בפסיקים, ומפתח לבדיקה. הקוד הנתון כבר ממלא את המילון info מתוך השורה הראשונה.
הדפיסו, לפי הסדר:
- כל מפתח, אחד בכל שורה
---- כל ערך, אחד בכל שורה
---- מספר הזוגות
---trueאוfalse: האם המילון ריק---trueאוfalse: האם המפתח מהקלט השני קיים
עבור הקלטים name:Mia,hp:100,class:Mage ו-hp, הפלט הוא:
name
hp
class
---
Mia
100
Mage
---
3
---
false
---
trueנסו בעצמכם
extends Node
func _ready():
var text := OS.read_string_from_stdin()
var key := OS.read_string_from_stdin()
var info := {}
for pair in text.split(","):
var parts := pair.split(":")
info[parts[0]] = parts[1]
# הדפס את המפתחות, הערכים, הגודל, is_empty ו־has(key)
# עם --- בין החלקים
pass
השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.
כל השיעורים ביחידה יסודות
4אופרטורים חלק 1
אופרטורים אריתמטייםחלוקה שלמהאופרטור מודולוקיצורי דרך אריתמטייםסיכום – חשבון פשוטאופרטורי השוואהתרגלו בעצמכם: קומפיילר GDScript אונליין