הוספה וקריאה של איברים
חלק מהיחידה מבוא ל-Luau במסלול ה-Lua של Coddy. שיעור 14 מתוך 80.
אתם כבר מגדילים ומקטינים טבלאות Lua באמצעות table.insert ו-table.remove: שניהם פועלים בדיוק באותו אופן גם על מערכים מטיפוס מוגדר. ההבדל הוא ש-Luau עכשיו בודקת מה אתם מכניסים: הכנסת מחרוזת למערך מסוג {number} מסומנת בזמן ההקלדה, ולא מתגלה רק כששחקן מבולבל נתקל בה בזמן הריצה.
local queue: {string} = {"save", "load"}
table.insert(queue, "quit") -- הוסף בסוף
table.insert(queue, 1, "help") -- הוסף במיקום 1, תוך הזזת השאר
local last = table.remove(queue) -- מסיר וגם מחזיר את האיבר האחרוןtable.remove(t) מוציאה את האיבר האחרון ומחזירה אותו אליכם; table.remove(t, 1) מסירה את האיבר הראשון ומזיזה את כל השאר מטה. מכיוון שטיפוס המערך הוא {string}, Luau יודעת שהערך המוחזר הוא מחרוזת.
קריאה סלחנית בדיוק כמו ב-Lua רגילה: אינדקס שאין בו ערך, queue[0], queue[-1] או כל אינדקס מעבר ל-#queue, מחזיר בשקט את הערך nil. לא נזרקת שגיאה, לכן בדקו אם הערך הוא nil לפני השימוש בערך שאינכם בטוחים שהוא קיים.
אתגר
קלהגדל והקטן רשימה מטיפוס מוגדר של מהלכים.
- הכרז על
local moves: {string} = {"jump", "run"}. - הוסף לסוף הרשימה את
"duck"באמצעותtable.insert, ואז הוסף את"crawl"במיקום 1. - שמור את
table.remove(moves)בתוךlocal removed, ואז הדפס אתremoved, את#moves, אתmoves[1]ואתmoves[10].
לחץ על הפעלת קוד: הפלט מציג את duck, את 3, את crawl ואת nil.
נסו בעצמכם
-- 1) הכריזו על moves: {string} עם "jump" ו-"run"
-- 2) הוסיפו את "duck" לסוף, והכניסו את "crawl" במיקום 1
-- 3) הסירו את המהלך האחרון, ואז הדפיסו את ארבעת הערכים
כל השיעורים ביחידה מבוא ל-Luau
1תחילת העבודה עם Luau
מהו Luau?למה להשתמש ב-Luau?קוד Luau הראשון שלכםבדיקת טיפוסים ומצבי שגיאהסיכום: מבוא ל-Luau4עבודה עם פונקציות
הגדרת טיפוסים לפרמטרים ולערכי החזרההגדרת טיפוסים לפונקציות אנונימיותפונקציות שאינן מחזירות ערךפרמטרים אופציונלייםערכי ברירת מחדל לפרמטריםערכי ברירת מחדל לבוליאניםפונקציות עם מספר משתנה של ארגומנטיםהגדרת טיפוסי פונקציותסיכום: פונקציות עם טיפוסים2טיפוסי ליבה
מספר, מחרוזת ובוליאניהטיפוס 'any': פתרון מילוטהטיפוס 'unknown'טיפוסי Nil ואופציונלייםהסקת טיפוסים בפעולההצהרות טיפוס מפורשותסיכום: תרגול בטיפוסי ליבה5כינויים, איחודים וחיתוכים
כינויים לסוגים פרימיטיבייםטיפוסי איחודעבודה עם טיפוסי איחודטיפוסים ליטרלייםטיפוסי חיתוךשילוב כינויים לסוגיםסיכום: שילובים מתקדמים של טיפוסים3טבלאות מטיפוס מוגדר: מערכים ומפות
מערכים מטיפוס מוגדרהוספה וקריאה של איבריםמהו טיפוס Map?הגדרה וגישה למפותמעבר על טבלאותטבלאות במבנים מעורביםקריאת רשתבניית רשתtable.unpackסיכום: מערכים ומפותתרגלו בעצמכם: קומפיילר Luau אונליין