المتغيرات المحلية
جزء من قسم الأساسيات في رحلة Lua على Coddy. الدرس 84 من 90.
توفر Lua الكلمة المفتاحية local لإنشاء متغيرات ذات نطاق محدود. عند التصريح عن متغير باستخدام local، لا يمكن الوصول إليه إلا داخل الكتلة المحددة التي أُنشئ فيها.
إليك كيفية إنشاء متغير محلي:
local playerHealth = 100
local isGameActive = trueالفرق الأساسي هو أن المتغيرات المحلية تقتصر على النطاق الخاص بها. على سبيل المثال، إذا أنشأت متغيرًا محليًا داخل كتلة do...end، فلا يمكن الوصول إليه خارج تلك الكتلة:
do
local secretCode = 1234
print(secretCode) -- هذا يعمل
end
print(secretCode) -- يطبع nil: المتغير المحلي لم يعد موجودًا هناخارج نطاقه، يشير الاسم إلى متغير عام لم يتم تعيين قيمة له مطلقًا، لذا تعطي Lua القيمة nil بدلًا من إظهار خطأ.
التحدي
سهلأنشئ كتلة do...end وعرّف داخلها متغيرًا محليًا باسم secretMessage قيمته "Hidden data". اطبع قيمة secretMessage داخل الكتلة نفسها.
بعد انتهاء كتلة do...end، حاول طباعة secretMessage مرة أخرى. بما أن المتغيرات المحلية تقتصر على نطاق الكتلة، فستُخرج عبارة الطباعة الثانية nil لأن المتغير لم يعد متاحًا خارج كتلته.
جرّب بنفسك
-- TODO: اكتب الكود الخاص بك هنا
-- أنشئ كتلة do...end تحتوي على متغير محلي secretMessage
-- اطبع secretMessage داخل الكتلة
-- ثم حاول طباعة secretMessage خارج الكتلةيتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس الأساسيات
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مراجعة - خصائص العناصر14نطاق المتغيرات
المتغيرات العامةالمتغيرات المحليةلماذا نستخدم المتغيرات المحلية؟النطاق والكتل البرمجيةمراجعة - لغز النطاق3المعاملات 1: العمليات الحسابية والدمج
المعاملات الحسابيةمعامل باقي القسمةمعامل الأسدمج النصوصأولوية المعاملاتملخص - حسابات بسيطة6مشروع: عرض إحصائيات الشخصية
رسالة ترحيبتعريف إحصائيات الشخصية9أساسيات الدوال
تعريف دالةاستدعاء دالةدوال مع معاملاتدوال بمعاملات متعددةجملة 'return'مراجعة - حاسبة المساحة12أساسيات الحلقات التكرارية
حلقة whileحلقة repeat-untilحلقة for الرقميةحلقة for مع خطوةجملة 'break'مراجعة - العد التنازليتدرّب بنفسك: مترجم Lua عبر الإنترنت