Menu
Coddy logo textTech
flag Ar iconالعربيةdown icon

ملخص - جدول للقراءة فقط

جزء من قسم Logic & Flow في رحلة Lua على Coddy — الدرس 23 من 54.

challenge icon

التحدي

سهل

اكتب دالة makeReadOnly تأخذ original وتعيد نسخة للقراءة فقط من الجدول.

أنشئ جدولاً وكيلاً (proxy table) مع جدول ميتا (metatable) يسمح بالقراءة من الجدول الأصلي ولكنه يمنع أي تعديلات.

المنطق:

  • أنشئ جدولاً وكيلاً فارغاً
  • أنشئ جدول ميتا مع ضبط __index على الجدول الأصلي (للسماح بالقراءة)
  • أضف __newindex إلى جدول الميتا بحيث لا يفعل شيئاً (لمنع التعديلات)
  • اربط جدول الميتا بالوكيل باستخدام setmetatable()
  • أعد الجدول الوكيل

المعاملات:

  • original (table): الجدول المراد حمايته من التعديلات

القيمة المرجعة: جدول وكيل يوفر وصولاً للقراءة فقط إلى الجدول الأصلي (table)

جرّب بنفسك

function makeReadOnly(original)
    -- اكتب الكود هنا
end

جميع دروس Logic & Flow