0Pricing
Lua Academy · درس

المصفوفات بوصفها جداول

الفهرسة التي تبدأ من 1 في Lua

المصفوفات بوصفها جداول درس مجاني في Lua Academy على CoddyKit. هذا هو الدرس 1 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Lua Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Lua Academy 4 دروس في المجموع.

الجداول هي قوائم Lua

لدى Lua نوع حاوية واحد هو الجدول. وعندما تخزّنون القيم بالترتيب، يعمل الجدول كمصفوفة أو قائمة.

تنشئون جدولًا فارغًا باستخدام {} ثم تملؤونه لاحقًا، أو تسردون القيم مباشرةً بين القوسين المعقوفين.

local fruits = {"apple", "banana", "cherry"}
print(fruits)

تبدأ الفهرسة من 1

هذه هي القاعدة الأهم: مصفوفات Lua تبدأ فهرستها من 1. يوجد العنصر الأول عند الفهرس 1، وليس 0.

استخدموا الأقواس المربعة لقراءة عنصر حسب موضعه.

local fruits = {"apple", "banana", "cherry"}
print(fruits[1])
print(fruits[2])
print(fruits[3])

الفهرس صفر فارغ

بما أن العد يبدأ من 1، فلا يحتوي الموضع 0 عادةً على شيء.

تؤدي قراءة فهرس لم تُعيّن له قيمة إلى إرجاع nil. وكثيرًا ما يخطئ المبتدئون القادمون من لغات أخرى في هذه النقطة.

local colors = {"red", "green", "blue"}
print(colors[0])
print(colors[1])

كتابة عنصر

أسندوا قيمةً إلى موضع باستخدام صيغة الأقواس لتعيين قيمة أو استبدالها.

نستبدل هنا قيمة الخانة الثانية. ويظهر التغيير في المرة التالية التي نقرأ فيها ذلك الفهرس.

local scores = {10, 20, 30}
scores[2] = 99
print(scores[2])

إنشاء جدول خطوة بخطوة

يمكنكم البدء بجدول فارغ وإضافة العناصر عند فهارس متتالية. تذكروا البدء من 1 للحفاظ على تسلسل منظم.

لا يحتوي التسلسل على فجوات: الفهارس 1 و2 و3 مملوءة جميعًا.

local nums = {}
nums[1] = 5
nums[2] = 10
nums[3] = 15
print(nums[1], nums[2], nums[3])

أنواع قيم مختلطة

يمكن لجدول Lua أن يحتوي على قيم من أنواع مختلفة في التسلسل نفسه، مثل الأعداد والسلاسل النصية والقيم المنطقية.

لا تفرض Lua أن يكون لكل عنصر النوع نفسه، كما تفعل بعض اللغات.

local mixed = {42, "hello", true}
print(mixed[1])
print(mixed[2])
print(mixed[3])

طباعة جميع العناصر

لعرض كل عنصر، مرّروا من الفهرس 1 تصاعديًا باستخدام حلقة for رقمية.

سنتعرف على طريقة أكثر نظافة (ipairs) في درس لاحق، لكن هذه الحلقة توضح نطاق الفهرسة التي تبدأ من 1.

local pets = {"cat", "dog", "fish"}
for i = 1, 3 do
  print(i, pets[i])
end

الجداول المتداخلة

يمكن أن يكون عنصر الجدول نفسه جدولًا. يتيح لكم ذلك إنشاء صفوف أو شبكات أو بيانات مجمّعة.

استخدموا أقواسًا متسلسلة للوصول إلى العناصر الداخلية: تقرأ grid[1][2] الصف 1 والعمود 2، وكلاهما يبدأ من 1.

local grid = {
  {1, 2, 3},
  {4, 5, 6}
}
print(grid[1][2])
print(grid[2][3])

العنصر الأول والأخير حسب الموضع

يكون العنصر الأول دائمًا عند list[1]. وفي تسلسل ذي حجم معروف، يوجد العنصر الأخير عند فهرس يساوي ذلك العدد.

هنا، بما أن عدد العناصر ثلاثة، يوجد العنصر الأخير عند الفهرس 3.

local week = {"Mon", "Tue", "Wed"}
print("first:", week[1])
print("last:", week[3])

تغيير القيم في مواضعها

الجداول قابلة للتعديل. يمكنكم تحديث أي خانة موجودة دون إعادة إنشاء القائمة بأكملها.

نزيد أدناه كل نتيجة بإعادة إسناد قيمة كل فهرس داخل حلقة.

local scores = {1, 2, 3}
for i = 1, 3 do
  scores[i] = scores[i] + 10
end
print(scores[1], scores[2], scores[3])

الجداول كسجلات مقابل المصفوفات

يخزّن نوع الجدول نفسه أيضًا مفاتيح مسماة، مثل person.name. وعندما تكون المفاتيح هي الأعداد الصحيحة 1 و2 و3...، نسمّي ذلك تسلسلًا أو مصفوفة.

يركز هذا الدرس على نمط التسلسل ذي المفاتيح الرقمية التي تبدأ من 1.

local list = {"a", "b"}
list[3] = "c"
print(list[1], list[2], list[3])

تحقق سريع

اختبروا فهمكم لفهرسة Lua.

مراجعة

تعلمتم أن Lua تستخدم الجداول كمصفوفات، وأن الفهرسة تبدأ من 1؛ فالعنصر الأول موجود عند [1].

يمكنكم قراءة عناصر الجدول وكتابتها وتضمين جداول داخلها، كما أن التسلسل المنظم لا يحتوي على فجوات. بعد ذلك ستضيفون العناصر وتحذفونها ديناميكيًا.

الأسئلة الشائعة

هل درس «المصفوفات بوصفها جداول» مجاني؟

نعم — نص درس «المصفوفات بوصفها جداول» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة Lua Academy، انتقل إلى CoddyKit PRO. تتضمن دورة Lua Academy 4 دروس في المجموع.

ماذا ستتعلم في «المصفوفات بوصفها جداول»؟

الفهرسة التي تبدأ من 1 في Lua تتمرن على Lua Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.

هل أحتاج إلى خبرة سابقة لأبدأ Lua Academy؟

لا تُشترط خبرة سابقة. Lua Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 1 من أصل 4.

كم من الوقت يستغرق درس «المصفوفات بوصفها جداول»؟

معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.

هل يمكنني كتابة وتشغيل أكواد في درس Lua Academy هذا؟

نعم. كل درس في Lua Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.

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

  1. المصفوفات بوصفها جداول
  2. إضافة العناصر وإزالتها
  3. التكرار باستخدام ipairs
  4. الطول والترتيب
← العودة إلى Lua Academy