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

التصريح عن الخرائط والوصول إليها

جزء من قسم مقدمة إلى Luau في رحلة Lua على Coddy. الدرس 16 من 73.

يبدو التصريح عن map ذات نوع محدد مثل منشئات الجداول التي كتبتها دائمًا: يحدد التعليق التوضيحي نوعَي المفتاح والقيمة:

local stock: {[string]: number} = {apples = 12, bananas = 5}

تستخدم القراءة والكتابة الفهرسة التي تعرفها. بالنسبة إلى المفاتيح التي تُعدّ معرّفات صالحة، تصل stock.apples وstock["apples"] إلى entry نفسها؛ كما يتعامل شكل الأقواس مع المفاتيح التي تحتوي على مسافات أو المخزنة في متغيرات:

stock["cherries"] = 20   -- أضف إدخالاً جديداً
stock.bananas = 8        -- حدّث واحداً موجوداً
print(stock["apples"])  -- 12
print(stock["plums"])   -- nil — لم يُعيَّن أبداً

يراقب مدقّق الأنواع كل عملية كتابة: يتم الإبلاغ عن stock["apples"] = "many" لأن "many" ليس number، كما يتم الإبلاغ عن استخدام number كمفتاح لأن المفاتيح يجب أن تكون سلاسل نصية.

من أجل حذف entry، أسند nil إلى مفتاحها: يؤدي stock["bananas"] = nil إلى إزالتها entirely، وتُرجع القراءات اللاحقة nil. لا توجد دالة حذف منفصلة؛ فهذا هو الأسلوب الاصطلاحي المعتاد في Lua، ولا يزال يجتاز فحص الأنواع على map.

challenge icon

التحدي

سهل

أنشئ map typed ‏stock: {[string]: number} مهيأً باستخدام apples = 12 وbananas = 5. ثم:

  1. add إدخالًا جديدًا cherries بالقيمة 20
  2. حدّث bananas إلى 8

وأخيرًا اطبع، كل قيمة في سطر مستقل:

  1. مخزون apples
  2. مخزون bananas
  3. مخزون cherries
  4. مخزون plums: مفتاحًا never قمت بتعيينه

جرّب بنفسك

-- اكتب الكود هنا
-- 1) أعلن stock: {[string]: number} مع apples = 12, bananas = 5
-- 2) أضف cherries = 20، حدّث bananas إلى 8
-- 3) اطبع apples, bananas, cherries, ثم plums
quiz iconاختبر نفسك

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

جميع دروس مقدمة إلى Luau

تدرّب بنفسك: مترجم Lua عبر الإنترنت