Menu
CoddyTech

הגדרה וגישה למפות

חלק מהיחידה מבוא ל-Luau במסלול ה-Lua של Coddy. שיעור 16 מתוך 80.

הצהרה על מפה מטופסת נראית כמו בנאי הטבלאות שתמיד כתבת: ההערה רק קובעת את טיפוסי המפתח והערך:

local stock: {[string]: number} = {apples = 12, bananas = 5}

קריאה וכתיבה משתמשות באינדוקס המוכר לך. עבור מפתחות שהם מזהים חוקיים, stock.apples וגם stock["apples"] מגיעים לאותה רשומה; צורת הסוגריים המרובעים מתאימה גם למפתחות עם רווחים או למפתחות ששמורים במשתנים:

stock["cherries"] = 20   -- הוסף רשומה חדשה
stock.bananas = 8        -- עדכן רשומה קיימת
print(stock["apples"])  -- 12
print(stock["plums"])   -- nil: מעולם לא הוגדר

בודק הטיפוסים בודק כל כתיבה: stock["apples"] = "many" מסומנת כשגויה כי "many" אינו מספר, ושימוש במספר כמפתח מסומן כשגוי כי המפתחות חייבים להיות מחרוזות.

כדי למחוק רשומה, משייכים nil למפתח שלה: stock["bananas"] = nil מסיר אותה לחלוטין, וקריאות מאוחרות יותר מחזירות nil. אין פונקציית מחיקה נפרדת; זהו הנוהג המקובל ב-Lua, והוא עדיין עובר בדיקת טיפוסים במפה.

challenge icon

אתגר

קל

שמרו על מפה מטיפוס מוגדר של ציוד לבית הספר.

  1. הצהירו על local stock: {[string]: number} = {pens = 40, rulers = 15}.
  2. הוסיפו stock["erasers"] = 25 ושנו את rulers ל־10.
  3. הדפיסו את המלאי של pens, rulers, erasers ו־glue, אחד בכל שורה.

לחצו על Run Code: הפלט מציג 40, 10, 25 ו־nil.

נסו בעצמכם

-- 1) הגדירו את stock: {[string]: number} עם pens = 40, rulers = 15
-- 2) הוסיפו erasers = 25, שנו את rulers ל-10
-- 3) הדפיסו את pens, rulers, erasers, ואז את glue

כל השיעורים ביחידה מבוא ל-Luau

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