التكرار باستخدام 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، حتى لو كانت هناك عناصر أخرى بعدها.
التحدي
سهلاكتب دالة listTasks تأخذ جدول tasks وتُرجع سلسلة منسّقة تسرد جميع المهام مع أرقام مواضعها.
استخدم ipairs() للتكرار على المهام بالترتيب التسلسلي، وابنِ سلسلة تعرض فيها كل سطر رقم المهمة متبوعًا باسمها بالتنسيق number. task. يجب أن تكون كل مهمة في سطر منفصل.
المعاملات:
tasks(table): جدول بأسلوب القائمة يحتوي على أسماء المهام كسلاسل نصية
القيمة المُعادة: سلسلة تحتوي على كل مهمة مرقّمة في سطر منفصل. التنسيق:
1. task1
2. task2
3. task3جرّب بنفسك
function listTasks(tasks)
-- اكتب الكود هنا
end
يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس المنطق وتسلسل التنفيذ
1التكرار المتقدم عبر الجداول
التكرار باستخدام pairs()التكرار باستخدام ipairs()pairs() مقابل ipairs()مراجعة - ورقة الشخصية2المزيد من دوال مكتبة Table
table.concat()إنشاء الجداول و unpack()table.sort()فرز مخصص باستخدام الدوالمراجعة - لوحة أعلى النتائجتدرّب بنفسك: مترجم Lua عبر الإنترنت