Menu
Coddy logo textTech

הוספה ושינוי של זוגות

חלק מהיחידה יסודות במסלול ה-Lua של Coddy. שיעור 68 מתוך 90.

כדי להוסיף זוג מפתח-ערך חדש או לשנות זוג קיים, פשוט משתמשים באופרטור ההשמה עם סימון נקודה או עם סימון סוגריים מרובעים:

local player = {
    ["name"] = "Alex",
    ["level"] = 5
}

-- הוסף זוג מפתח-ערך חדש
player.gold = 100

-- שנה ערך קיים
player.level = 6

היופי בגישה הזאת הוא ש-Lua אינה מבחינה בין הוספה לשינוי. אם המפתח "gold" לא קיים בטבלה, הוא נוצר עם הערך 100. אם המפתח "level" כבר קיים, הערך שלו מתעדכן ל-6.

אפשר להשתמש בנקודה או בסוגריים מרובעים עבור הפעולות האלה:

-- שתי הדרכים האלה פועלות באותו אופן
player.class = "Warrior"
player["weapon"] = "Sword"
challenge icon

אתגר

קל

צרו מערכת התקדמות לדמות שמדגימה גם הוספת מאפיינים חדשים וגם שינוי מאפיינים קיימים. התחילו ביצירת טבלה בשם hero עם צמדי המפתח-ערך ההתחלתיים הבאים: יש להציב את המחרוזת "Warrior" תחת ["name"], את המספר 5 תחת ["level"], ואת המספר 120 תחת ["health"].

לאחר יצירת טבלת הדמות הראשונית, בצעו את השינויים הבאים: ראשית, הוסיפו צמד מפתח-ערך חדש ["class"] עם הערך "Paladin" באמצעות תחביר נקודה. לאחר מכן, שנו את הערך הקיים של level ל-7 באמצעות תחביר סוגריים. לבסוף, הוסיפו צמד מפתח-ערך חדש נוסף ["mana"] עם הערך 80 באמצעות תחביר סוגריים.

לאחר השלמת כל השינויים, הדפיסו את המקצוע של הגיבור ואת הרמה המעודכנת כדי לוודא שהשינויים בוצעו.

נסו בעצמכם

-- צרו את הטבלה הראשונית של hero
local hero = {
    -- TODO: הוסיפו כאן את צמדי המפתח-ערך הראשוניים
}

-- TODO: הוסיפו מאפיינים חדשים ושנו מאפיינים קיימים באמצעות סימון נקודה וסימון סוגריים מרובעים

-- הציגו את ה-class של hero ואת ה-level המעודכן שלו
print(hero.class)
print(hero.level)
quiz iconבחנו את עצמכם

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

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

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