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

إزالة الأزواج باستخدام nil

جزء من قسم Fundamentals في رحلة Lua على Coddy — الدرس 69 من 90.

عندما تقوم بتعيين nil لمفتاح، تقوم Lua فعلياً بإزالة زوج (المفتاح-القيمة) هذا من الجدول:

local settings = {
    ["volume"] = 80,
    ["difficulty"] = "normal",
    ["music"] = true
}

-- إزالة إعداد الصعوبة
settings.difficulty = nil

-- الآن مفتاح الصعوبة لم يعد موجوداً في الجدول

يمكنك استخدام إما تدوين النقطة (dot notation) أو تدوين الأقواس (bracket notation) لإزالة زوج مفتاح-قيمة. كلاهما settings.difficulty = nil و settings["difficulty"] = nil يعملان بنفس الطريقة تماماً.

بعد تعيين nil لمفتاح، يختفي ذلك المفتاح تماماً من الجدول. إذا حاولت الوصول إليه لاحقاً، ستحصل على nil كـ نتيجة، تماماً كما لو أن المفتاح لم يكن موجوداً في المقام الأول.

challenge icon

التحدي

سهل

قم بإنشاء نظام تهيئة ألعاب يوضح كيفية إزالة الإعدادات غير المرغوب فيها من جدول بنمط القاموس (dictionary-style table). ابدأ بإنشاء جدول باسم gameConfig يحتوي على أزواج المفتاح والقيمة التالية: يجب تعيين السلسلة النصية "high" للمفتاح ["graphics"]، وتعيين الرقم 75 للمفتاح ["sound"]، وتعيين السلسلة النصية "normal" للمفتاح ["difficulty"]، وتعيين القيمة المنطقية true للمفتاح ["debug"].

بعد إنشاء جدول التهيئة الأولي، قم بإزالة إعداد debug عن طريق تعيين القيمة nil له باستخدام تدوين النقطة (dot notation). ثم قم بطباعة إعداد الصوت المتبقي للتحقق من أن الجدول لا يزال يحتوي على القيم الأخرى.

ورقة مرجعية

لإزالة زوج مفتاح-قيمة من جدول، قم بتعيين nil للمفتاح:

local settings = {
    ["volume"] = 80,
    ["difficulty"] = "normal",
    ["music"] = true
}

-- إزالة إعداد الصعوبة
settings.difficulty = nil

يمكنك استخدام إما تدوين النقطة (dot notation) أو تدوين الأقواس (bracket notation):

settings.difficulty = nil
settings["difficulty"] = nil

بعد تعيين nil، يختفي المفتاح تمامًا من الجدول. والوصول إليه يعيد nil.

جرّب بنفسك

-- TODO: اكتب كودك هنا
-- أنشئ جدول gameConfig مع أزواج المفتاح والقيمة المطلوبة
-- قم بإزالة إعداد debug باستخدام تدوين النقطة (dot notation)
-- اطبع إعداد sound
quiz iconاختبر نفسك

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

جميع دروس Fundamentals