הוספה ושינוי של זוגות
חלק מהיחידה יסודות במסלול ה-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"אתגר
קלצרו מערכת התקדמות לדמות שמדגימה גם הוספת מאפיינים חדשים וגם שינוי מאפיינים קיימים. התחילו ביצירת טבלה בשם 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)השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.
כל השיעורים ביחידה יסודות
4אופרטורים 2: יחסים ולוגיקה
אופרטורי שוויוןאופרטורים יחסייםהאופרטור 'and'האופרטור 'or'האופרטור 'not'הערכה בקצר חשמליערכים אמתיים ושקרייםסיכום – לוגיקה פשוטה10טבלאות חלק 1: בסגנון רשימה
מהי טבלה?יצירת טבלהגישה לאיברים לפי אינדקסשינוי איברים לפי אינדקסאופרטור האורך '#'table.insert()table.remove()סיכום - ניהול חברי החבורה13פרויקט: חנות שיקויים פשוטה
הגדרת הפרויקטהוספת שיקוי2משתנים וסוגי נתונים
מהו משתנה?מספריםמחרוזותערכים בוליאנייםהערך 'nil'הפונקציה type()מוסכמות למתן שמותסיכום – פרופיל דמות5פלט בסיסי
הדפסת ערכים מילולייםהדפסת משתניםהדפסת ערכים מרוביםשילוב מחרוזות ומשתניםהפונקציה tostring()קלטהמרת טיפוסיםסיכום – דוח מצבסיכום – עד 1208יסודות עיבוד מחרוזות
string.len()string.upper ו־string.lowerstring.sub()string.rep()string.find()חזרה – עיצוב שם משתמש11טבלאות 2: בסגנון מילון
זוגות מפתח-ערךיצירת טבלאות בסגנון מילוןגישה באמצעות תחביר סוגריים מרובעיםגישה באמצעות תחביר נקודההוספה ושינוי של זוגותהסרת זוגות באמצעות nilסיכום - מאפייני פריטים3אופרטורים 1: חשבון ושרשור
אופרטורים אריתמטייםאופרטור מודולואופרטור חזקהשרשור מחרוזותקדימות אופרטוריםסיכום – חישובים פשוטים9יסודות הפונקציות
הגדרת פונקציהקריאה לפונקציהפונקציות עם פרמטריםפונקציות עם כמה פרמטריםהפקודה 'return'סיכום – מחשבון שטחתרגלו בעצמכם: קומפיילר Lua אונליין