table.concat()
جزء من قسم المنطق والتحكم في التدفق في رحلة Lua على Coddy. الدرس 5 من 54.
أحيانًا تحتاج إلى دمج جميع العناصر في جدول على نمط القائمة في سلسلة نصية واحدة. توفّر Lua الدالة table.concat() خصيصًا لهذا الغرض، مما يجعل من السهل ضمّ عناصر الجدول باستخدام فاصل من اختيارك.
تبدو الصياغة الأساسية كما يلي:
local result = table.concat(myTable, separator)إليك مثالًا بسيطًا مع قائمة من الكلمات:
local words = {"Hello", "from", "Lua"}
local sentence = table.concat(words, " ")
print(sentence) -- المخرجات: Hello from Luaيمكنك أيضًا التحكم في الجزء الذي تريد ضمّه من الجدول من خلال توفير موضعي البداية والنهاية كوسيطين إضافيين. يكون هذا مفيدًا عندما تريد دمج عناصر محددة فقط:
local numbers = {"1", "2", "3", "4", "5"}
local partial = table.concat(numbers, "-", 2, 4)
print(partial) -- المخرجات: 2-3-4تعمل الدالة table.concat() حصريًا مع الجداول بأسلوب القوائم، وتحول كل عنصر إلى سلسلة نصية قبل ضمّها.
التحدي
سهلاكتب دالة buildPath تتلقى جدول folders وسلسلة نصية separator، وتُرجع سلسلة مسار واحدة مع ضم جميع المجلدات باستخدام الفاصل.
استخدم table.concat() لدمج جميع أسماء المجلدات في سلسلة مسار واحدة.
المعلمات:
folders(table): جدول بأسلوب القائمة يحتوي على أسماء المجلدات كسلاسل نصيةseparator(string): الحرف أو السلسلة النصية التي ستُستخدم بين أسماء المجلدات (مثل"/"أو"\\")
القيمة المُرجعة: سلسلة نصية واحدة مع ضم جميع المجلدات باستخدام الفاصل (string)
جرّب بنفسك
function buildPath(folders, separator)
-- اكتب الكود هنا
end
يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس المنطق والتحكم في التدفق
1التكرار المتقدم عبر الجداول
التكرار باستخدام pairs()التكرار باستخدام ipairs()pairs() مقابل ipairs()مراجعة - ورقة الشخصية2المزيد من دوال مكتبة Table
table.concat()إنشاء الجداول و unpack()table.sort()فرز مخصص باستخدام الدوالمراجعة - لوحة أعلى النتائجتدرّب بنفسك: مترجم Lua عبر الإنترنت