Menu
CoddyTech

הוספה וקריאה של איברים

חלק מהיחידה מבוא ל-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 לפני השימוש בערך שאינכם בטוחים שהוא קיים.

challenge icon

אתגר

קל

הגדל והקטן רשימה מטיפוס מוגדר של מהלכים.

  1. הכרז על local moves: {string} = {"jump", "run"}.
  2. הוסף לסוף הרשימה את "duck" באמצעות table.insert, ואז הוסף את "crawl" במיקום 1.
  3. שמור את 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

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