table.concat()
جزء من قسم Logic & Flow في رحلة 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() حصرياً مع الجداول التي على نمط القائمة (list-style tables) وتقوم بتحويل كل عنصر إلى سلسلة نصية قبل دمجها.
التحدي
سهلاكتب دالة buildPath تأخذ جدول folders وسلسلة نصية separator، وتعيد سلسلة مسار واحدة مع دمج جميع المجلدات بواسطة الفاصل.
استخدم table.concat() لدمج جميع أسماء المجلدات في سلسلة مسار واحدة.
المعاملات:
folders(table): جدول بنمط قائمة يحتوي على أسماء المجلدات كسلاسل نصيةseparator(string): الحرف أو السلسلة النصية المستخدمة بين أسماء المجلدات (على سبيل المثال،"/"أو"\\")
القيمة المرجعة: سلسلة نصية واحدة مع دمج جميع المجلدات بواسطة الفاصل (string)
ورقة مرجعية
تدمج الدالة table.concat() جميع العناصر في جدول بنمط القائمة (list-style table) في سلسلة نصية واحدة مع استخدام فاصل:
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تعمل الدالة حصرياً مع الجداول بنمط القائمة وتقوم بتحويل كل عنصر إلى سلسلة نصية قبل عملية الدمج.
جرّب بنفسك
function buildPath(folders, separator)
-- اكتب الكود هنا
end
يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس Logic & Flow
1التكرار المتقدم عبر الجداول
التكرار باستخدام pairs()التكرار باستخدام ipairs()pairs() مقابل ipairs()مراجعة - ورقة الشخصية2المزيد من دوال مكتبة Table
table.concat()إنشاء الجداول و unpack()table.sort()فرز مخصص باستخدام الدوالمراجعة - لوحة أعلى النتائج