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 (جدول): جدول بنمط قائمة يحتوي على أسماء المهام كسلاسل نصية

القيمة المرجعة: سلسلة نصية مع ترقيم كل مهمة في سطر منفصل. التنسيق: 

1. task1
2. task2
3. task3

جرّب بنفسك

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

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

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