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

إضافة العناصر وقراءتها

جزء من قسم مقدمة إلى Luau في رحلة Lua على Coddy. الدرس 14 من 73.

أنت تقوم بالفعل بتكبير وتصغير مصفوفات Lua باستخدام table.insert و table.remove — وكلاهما يعملان بالطريقة نفسها تمامًا مع المصفوفات المحددة النوع. الاختلاف هو أن Luau الآن **يتحقق مما تقوم بإدراجه**: فإدراج string داخل مصفوفة من نوع {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) بإزالة العنصر الأول وإزاحة كل شيء إلى الأسفل (down). ونظرًا لأن المصفوفة محددة النوع كـ {string}، فإن Luau يعلم أن القيمة المعادة هي string.

عملية **القراءة** مرنة تمامًا كما في Lua العادية: أي فهرس لا يحتوي على شيء — مثل queue[0] أو queue[-1] أو أي شيء يتجاوز #queue — يُرجع nil بهدوء. لا يتم إطلاق أي خطأ، لذا تحقق (check) من وجود nil قبل استخدام قيمة لست متأكدًا من وجودها.

أداة أخرى لإضافتها إلى مجموعتك: table.freeze(t) يجعل الجدول **للقراءة فقط أثناء التشغيل** — وتؤدي أي محاولة لاحقة لتعديله إلى إطلاق خطأ. إنه حل Luau للبيانات الثابتة (الإعدادات، قوائم المستويات الثابتة) التي يجب ألا تتغير أبدًا بعد إنشائها.

challenge icon

التحدي

سهل

أنشئ مصفوفة محدّدة النوع queue: {string} مُهيأة بـ "save" و "load". ثم:

  1. قم بإضافة "<code>quit" في النهاية باستخدام table.insert
  2. قم بإدراج "<code>help" في الموقع 1
  3. قم بإزالة الأمر الأخير باستخدام table.remove، مع تخزين القيمة المرجعة

أخيرًا اطبع، كل منها في سطر مستقل:

  1. الأمر المزال
  2. عدد الأوامر المتبقية
  3. الأمر الأول في queue
  4. queue[10] — خانة لا تحتوي على شيء

جرّب بنفسك

-- اكتب الكود هنا
-- 1) أعلن عن queue: {string} مع "save" و "load"
-- 2) ألحق النص الدقيق من التعليمات، أدرج النص الدقيق من التعليمات في الموضع 1
-- 3) أزل الأمر الأخير، ثم اطبع القيم الأربع
quiz iconاختبر نفسك

يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.

جميع دروس مقدمة إلى Luau

تدرّب بنفسك: مترجم Lua عبر الإنترنت