הוספה ושינוי של זוגות
חלק מהיחידה יסודות במסלול ה-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: הוסיפו מאפיינים חדשים ושנו מאפיינים קיימים באמצעות סימון נקודה וסימון סוגריים מרובעים
השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.
כל השיעורים ביחידה יסודות
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 אונליין