الوصول بتدوين النقطة
جزء من قسم Fundamentals في رحلة Lua على Coddy — الدرس 67 من 90.
تقدم Lua بديلاً أكثر ملاءمة يسمى تدوين النقطة (dot notation). هذه طريقة أنظف وأكثر قابلية للقراءة للوصول إلى القيم عندما تكون المفاتيح عبارة عن سلاسل نصية بسيطة.
بدلاً من كتابة player["score"]، يمكنك ببساطة كتابة player.score:
local player = {
["name"] = "Alex",
["score"] = 1500,
["level"] = 8
}
print(player.name) -- المخرجات: Alex
print(player.score) -- المخرجات: 1500تدوين النقطة (Dot notation) هو ما يطلق عليه المبرمجون "سكر برمجي" (syntactic sugar) - وهي طريقة أكثر سلاسة لكتابة الشيء نفسه. ومع ذلك، فهي تعمل فقط عندما يكون المفتاح الخاص بك معرف Lua صالحاً، مما يعني أنه يحتوي فقط على أحرف وأرقام وشرطات سفلية، ولا يبدأ برقم.
local book = {
["title"] = "Lua Programming",
["pages"] = 300
}
local bookTitle = book.title
print(bookTitle) -- المخرجات: Lua Programmingالتحدي
سهلقم بإنشاء نظام إدارة مكتبة يوضح كيفية الوصول إلى معلومات الكتاب باستخدام تدوين النقطة (dot notation). أولاً، قم بإنشاء جدول باسم book يحتوي على أزواج المفتاح والقيمة التالية: يجب تعيين السلسلة النصية "The Lua Guide" لـ ["title"]، ويجب تعيين السلسلة النصية "Roberto Ierusalimschy" لـ ["author"]، ويجب تعيين الرقم 328 لـ ["pages"]، ويجب تعيين الرقم 2016 لـ ["year"]. بعد إنشاء الجدول، استخدم تدوين النقطة للوصول إلى عنوان الكتاب وطباعته.
ورقة مرجعية
توفر لغة Lua تدوين النقطة (dot notation) كبديل أكثر وضوحاً لتدوين الأقواس للوصول إلى قيم الجداول عندما تكون المفاتيح سلاسل نصية بسيطة:
local player = {
["name"] = "Alex",
["score"] = 1500,
["level"] = 8
}
print(player.name) -- المخرجات: Alex
print(player.score) -- المخرجات: 1500يعمل تدوين النقطة فقط عندما يكون المفتاح معرف Lua صالحاً (يحتوي فقط على أحرف وأرقام وشرطات سفلية، ولا يبدأ برقم):
local book = {
["title"] = "Lua Programming",
["pages"] = 300
}
local bookTitle = book.title
print(bookTitle) -- المخرجات: Lua Programmingجرّب بنفسك
-- مهمة: إنشاء جدول الكتاب مع أزواج المفتاح والقيمة المطلوبة
-- مهمة: استخدم تدوين النقطة للوصول إلى عنوان الكتاب وطباعتهيتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس Fundamentals
4المعاملات 2: العمليات العلائقية والمنطقية
معاملات التساويالمعاملات العلائقيةالمعامل 'and'المعامل 'or'المعامل 'not'التقييم قصير الدائرةقيم Truthy و Falsyمراجعة - المنطق البسيط10الجداول الجزء 1: نمط القائمة
ما هو الجدول؟إنشاء جدولالوصول إلى العناصر عبر الفهرستعديل العناصر عبر الفهرسمعامل الطول '#'table.insert()table.remove()ملخص - إدارة أعضاء الفريق13مشروع: متجر جرعات بسيط
إعداد المشروعإضافة جرعة2المتغيرات وأنواع البيانات
ما هو المتغير؟الأرقامالسلاسل النصيةالقيم المنطقيةالقيمة 'nil'الدالة type()قواعد التسميةمراجعة - ملف الشخصية5الإخراج الأساسي
طباعة القيم الحرفيةطباعة المتغيراتطباعة قيم متعددةدمج النصوص والمتغيراتدالة tostring()الإدخال (Input)التحويل (Cast)مراجعة - تقرير الحالةمراجعة - حتى 1208أساسيات معالجة النصوص
string.len()string.upper و string.lowerstring.sub()string.rep()string.find()مراجعة - تنسيق اسم المستخدم11الجداول 2: بأسلوب القاموس
أزواج (مفتاح-قيمة)إنشاء جداول بأسلوب القاموسالوصول - تدوين الأقواسالوصول بتدوين النقطةإضافة وتعديل الأزواجإزالة الأزواج باستخدام nilمراجعة - خصائص العناصر3المعاملات 1: العمليات الحسابية والدمج
المعاملات الحسابيةمعامل باقي القسمةمعامل الأسدمج النصوصأولوية المعاملاتملخص - حسابات بسيطة6مشروع: عرض إحصائيات الشخصية
رسالة ترحيبتعريف إحصائيات الشخصية9أساسيات الدوال
تعريف دالةاستدعاء دالةدوال مع معاملاتدوال بمعاملات متعددةجملة 'return'مراجعة - حاسبة المساحة12أساسيات الحلقات التكرارية
حلقة whileحلقة repeat-untilحلقة for الرقميةحلقة for مع خطوةجملة 'break'مراجعة - العد التنازلي