Menu
CoddyTech

التكرار باستخدام 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 عبر الإنترنت