Menu
Coddy logo textTech

סיכום — טבלה לקריאה בלבד

חלק מהיחידה לוגיקה וזרימת התוכנית במסלול ה-Lua של Coddy. שיעור 23 מתוך 54.

challenge icon

אתגר

קל

כתבו פונקציה makeReadOnly שמקבלת את original ומחזירה גרסה לקריאה בלבד של הטבלה.

צרו טבלת proxy עם מטא-טבלה שמאפשרת קריאה מהטבלה המקורית, אך מונעת כל שינוי.

לוגיקה:

  • צרו טבלת proxy ריקה
  • צרו מטא-טבלה שבה __index מוגדר לטבלה המקורית (כדי לאפשר קריאה)
  • הוסיפו למטא-טבלה את __newindex שלא עושה דבר (כדי לחסום שינויים)
  • חברו את המטא-טבלה ל-proxy באמצעות setmetatable()
  • החזירו את טבלת ה-proxy

פרמטרים:

  • original (table): הטבלה שיש להגן עליה מפני שינויים

ערך מוחזר: טבלת proxy שמספקת גישה לקריאה בלבד לטבלה המקורית (table)

נסו בעצמכם

function makeReadOnly(original)
    -- כתבו כאן קוד
end

כל השיעורים ביחידה לוגיקה וזרימת התוכנית

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