Menu
Coddy logo textTech
flag Ar iconالعربيةdown icon

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) وتقوم بتحويل كل عنصر إلى سلسلة نصية قبل دمجها.

challenge icon

التحدي

سهل

اكتب دالة 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
quiz iconاختبر نفسك

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

جميع دروس Logic & Flow