table.concat وtable.move
اربط المصفوفات وانسخ أجزاء الجداول بكفاءة باستخدام الدوال المدمجة
table.concat وtable.move درس مجاني في Lua Academy على CoddyKit. هذا هو الدرس 2 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Lua Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Lua Academy 4 دروس في المجموع.
أساسيات table.concat
تجمع table.concat(t, sep, i, j) عناصر المصفوفة في سلسلة نصية. وتكون قيمة sep الافتراضية هي "".
الضم البسيط
صِل مصفوفة من السلاسل باستخدام فاصل.
local fruits = {"apple", "banana", "cherry"}
print(table.concat(fruits, ", ")) -- apple, banana, cherryضم جزئي باستخدام i وj
حدّد فهارس البداية والنهاية لضم جزء من المصفوفة.
local t = {"a", "b", "c", "d", "e"}
print(table.concat(t, "-", 2, 4)) -- b-c-dالأرقام في table.concat
يجب أن تكون العناصر سلاسل أو أرقامًا؛ وتتسبب الأنواع الأخرى في حدوث خطأ. حوّلها أولًا باستخدام tostring.
local nums = {1, 2, 3}
print(table.concat(nums, " + ")) -- 1 + 2 + 3مقدمة إلى table.move
تنسخ table.move(a1, f, e, t, a2) العناصر من الجدول a1، من الفهارس f إلى e، إلى الجدول a2 بدءًا من الفهرس t.
نسخ جزء
انسخ العناصر من 2 إلى 4 من جدول إلى جدول آخر.
local src = {10, 20, 30, 40, 50}
local dst = {}
table.move(src, 2, 4, 1, dst)
print(table.concat(dst, ", ")) -- 20, 30, 40الإزاحة في الموضع
استخدم table.move مع المصدر والوجهة نفسيهما لإزاحة العناصر داخل الجدول.
local t = {1, 2, 3, 4, 5}
table.move(t, 2, 5, 1) -- shift left by 1
t[5] = nilإلحاق جزء
ألحق جزءًا من جدول بنهاية جدول آخر بكفاءة.
local base = {"x", "y"}
local extra = {"a", "b", "c"}
table.move(extra, 1, #extra, #base + 1, base)
print(table.concat(base, ", "))استنساخ جدول باستخدام table.move
يمكن إنشاء نسخة سطحية بنقل الجدول بأكمله إلى جدول جديد.
local original = {1, 2, 3}
local clone = {}
table.move(original, 1, #original, 1, clone)فائدة الأداء
تُنفَّذ table.move بلغة C، ولذلك فهي أسرع من حلقة Lua اليدوية مع الأجزاء الكبيرة، إذ تتجنب الحمل الزائد للمفسّر لكل عنصر.
table.concat مقابل string.format
استخدم table.concat لضم المصفوفات، واستخدم string.format لتنسيق القيم الفردية تنسيقًا منظمًا.
سؤال حول table.move
ماذا تفعل table.move(src, 2, 4, 1, dst)؟
مراجعة: concat وmove
تجمع table.concat عناصر المصفوفة في سلسلة نصية. وتنسخ table.move أجزاء الجداول بكفاءة بلغة C. وكلتاهما أساسيتان لمعالجة الجداول عالية الأداء.
الأسئلة الشائعة
هل درس «table.concat وtable.move» مجاني؟
نعم — نص درس «table.concat وtable.move» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة Lua Academy، انتقل إلى CoddyKit PRO. تتضمن دورة Lua Academy 4 دروس في المجموع.
ماذا ستتعلم في «table.concat وtable.move»؟
اربط المصفوفات وانسخ أجزاء الجداول بكفاءة باستخدام الدوال المدمجة تتمرن على Lua Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.
هل أحتاج إلى خبرة سابقة لأبدأ Lua Academy؟
لا تُشترط خبرة سابقة. Lua Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 2 من أصل 4.
كم من الوقت يستغرق درس «table.concat وtable.move»؟
معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.
هل يمكنني كتابة وتشغيل أكواد في درس Lua Academy هذا؟
نعم. كل درس في Lua Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.
جميع الدروس في هذه الدورة
- table.sort مع دوال المقارنة
- table.concat وtable.move
- النسخ العميق والنسخ السطحي
- تحويل الجداول: map وfilter وreduce