הצהרה על מפות וגישה אליהן
חלק מהיחידה מבוא ל-Luau במסלול ה-Lua של Coddy. שיעור 16 מתוך 73.
הכרזה על מפה מטיפוסים מוגדרים נראית כמו בנאי הטבלה שתמיד כתבת: ההערה רק קובעת את טיפוסי המפתח והערך:
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, והוא עדיין עובר בדיקת טיפוסים במפה.
אתגר
קלצור מפה מטיפוס stock: {[string]: number} שמאותחלת עם apples = 12 ועם bananas = 5. לאחר מכן:
- הוסף ערך חדש
cherriesעם הערך20 - עדכן את
bananasל-8
לבסוף, הדפס כל אחד בשורה נפרדת:
- המלאי של
apples - המלאי של
bananas - המלאי של
cherries - המלאי של
plums: מפתח שמעולם לא הגדרת
נסו בעצמכם
-- כתבו כאן קוד
-- 1) הכריזו על stock: {[string]: number} עם apples = 12, bananas = 5
-- 2) הוסיפו cherries = 20, ועדכנו את bananas ל-8
-- 3) הדפיסו את apples, bananas, cherries, ואז את plums
השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.
כל השיעורים ביחידה מבוא ל-Luau
1תחילת העבודה עם Luau
מהו Luau?למה להשתמש ב-Luau?קוד Luau הראשון שלכםבדיקת טיפוסים ומצבי שגיאהסיכום: מבוא ל-Luau4עבודה עם פונקציות
הגדרת טיפוסים לפרמטרים ולערכי החזרההגדרת טיפוסים לפונקציות אנונימיותפונקציות שאינן מחזירות ערךפרמטרים אופציונלייםערכי ברירת מחדל לפרמטריםפונקציות עם מספר משתנה של ארגומנטיםהגדרת טיפוסי פונקציותסיכום: פונקציות עם טיפוסים2טיפוסי ליבה
טיפוסים בסיסיים: num, str, boolהטיפוס 'any': פתרון מילוטהטיפוס 'unknown'טיפוסי Nil ואופציונלייםהסקת טיפוסים בפעולההצהרות טיפוסים מפורשותסיכום: תרגול טיפוסי ליבה5כינויים, איחודים וחיתוכים
כינויים לסוגים פרימיטיבייםטיפוסי איחודעבודה עם טיפוסי איחודטיפוסים ליטרלייםטיפוסי חיתוךשילוב כינויים לסוגיםסיכום: שילובים מתקדמים של טיפוסים3טבלאות מטיפוס מוגדר: מערכים ומפות
מערכים מטיפוס מוגדרהוספת איברים וקריאתםמהו טיפוס Map?הצהרה על מפות וגישה אליהןמעבר על טבלאותטבלאות בעלות מבנים מעורביםמערכים רב־ממדיים מטיפוס מוגדרtable.unpack ו־Varargsסיכום: מערכים ומפותתרגלו בעצמכם: קומפיילר Luau אונליין