0Pricing
Lua Academy · درس

‏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 يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.

جميع الدروس في هذه الدورة

  1. ‏table.sort مع دوال المقارنة
  2. ‏table.concat وtable.move
  3. النسخ العميق والنسخ السطحي
  4. تحويل الجداول: map وfilter وreduce
← العودة إلى Lua Academy