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

التكرار باستخدام ipairs()

جزء من قسم المنطق والتحكم في التدفق في رحلة Lua على Coddy. الدرس 2 من 54.

بينما تعمل pairs() مع أي بنية جدول، توفّر Lua دالة متخصصة تُسمى ipairs() ومصممة خصيصًا لجداول نمط القوائم. تتكرّر هذه الدالة عبر الجداول بترتيب تسلسلي، بدءًا من الفهرس 1 والاستمرار حتى تصادف قيمة nil.

صياغة ipairs() مشابهة لـ pairs():

for index, value in ipairs(myList) do
    -- استخدم index و value هنا
end

إليك مثالًا باستخدام قائمة بعناصر المهام:

local questItems = {"Map", "Compass", "Torch", "Rope"}

for i, item in ipairs(questItems) do
    print(i .. ". " .. item)
end

المخرجات:

1. Map
2. Compass
3. Torch
4. Rope

الفرق الأساسي عن pairs() هو أن ipairs() يتوقف فورًا عندما يعثر على قيمة nil، حتى إذا كانت هناك عناصر أخرى بعدها.

challenge icon

التحدي

سهل

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

استخدم ipairs() للتكرار عبر المهام بترتيب متسلسل وإنشاء سلسلة نصية يعرض فيها كل سطر رقم المهمة متبوعًا باسم المهمة بالتنسيق number. task. يجب أن تكون كل مهمة في سطر منفصل.

المعلمات:

  • tasks (table): جدول بنمط القائمة يحتوي على أسماء المهام كسلاسل نصية

القيمة المُرجعة: سلسلة نصية تحتوي على كل مهمة مرقّمة في سطر منفصل. التنسيق: 

1. task1
2. task2
3. task3

جرّب بنفسك

function listTasks(tasks)
    -- اكتب الكود هنا
end
quiz iconاختبر نفسك

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

جميع دروس المنطق والتحكم في التدفق

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