Menu
CoddyTech

table.unpack

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

לפעמים יש לך ערכים במערך, אבל אתה צריך אותם כערכים נפרדים: למשל, כדי להעביר כל איבר כארגומנט בפני עצמו. זה מה ש־table.unpack עושה: היא מחזירה את כל איברי המערך בנפרד.

local scores: {number} = {85, 92, 78}
print(table.unpack(scores))           -- 85  92  78 (בשורה אחת)
print(math.max(table.unpack(scores))) -- 92

print מקבלת שלושה ארגומנטים, ולכן מדפיסה אותם בשורה אחת, עם טאב ביניהם. math.max צריכה מספרים נפרדים, לא מערך, ולכן פריסת המערך היא שמאפשרת לקריאה לעבוד.

table.unpack קוראת את המערך בלי לשנות אותו. הכיוון ההפוך — פונקציה שמקבלת כל מספר של ארגומנטים באמצעות ... — נלמד בשיעור „פונקציות עם מספר משתנה של ארגומנטים” בפרק הבא.

challenge icon

אתגר

קל

פרוס מערך של ציונים לערכים נפרדים.

  1. הגדר את local scores: {number} = {64, 88, 71}.
  2. הדפס את table.unpack(scores).
  3. הדפס את math.max(table.unpack(scores)).

לחץ על הרצת קוד: הפלט מציג את 64 88 71 בשורה אחת, ואז את 88.

נסו בעצמכם

-- 1) הכריזו על scores: {number} = {64, 88, 71}
-- 2) הדפיסו את הערכים של scores לאחר פריסתם, ואז את math.max שלהם

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

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