لماذا نستخدم المتغيرات المحلية؟
جزء من قسم الأساسيات في رحلة Lua على Coddy. الدرس 85 من 90.
منع تعارض الأسماء: تتمثل أهم فائدة للمتغيرات المحلية في أنها تمنعك من الكتابة فوق متغيرات أخرى تحمل الاسم نفسه عن طريق الخطأ. عندما تستخدم المتغيرات العامة في أنحاء برنامجك، فمن السهل إعادة استخدام اسم متغير عن طريق الخطأ وتغيير قيمة لم تقصد تعديلها.
score = 100 -- نقاط اللاعب
function countEnemies()
score = 0 -- المقصود به عدّاد لهذه الدالة فقط
for i = 1, 3 do
score = score + 1
end
return score
end
countEnemies()
print(score) -- 3: تمت الكتابة فوق نقاط اللاعب!كان من المفترض أن تستخدم الدالة عدّادها الخاص، لكن لأن score متغير عام، غيّرت نتيجة اللاعب بدلًا من ذلك. تؤدي إضافة local إلى منح الدالة متغيرًا منفصلًا لا يوجد إلا بداخلها:
function countEnemies()
local score = 0 -- متغير جديد، موجود فقط داخل هذه الدالة
for i = 1, 3 do
score = score + 1
end
return score
end
countEnemies()
print(score) -- 100: لم تتغير قيمة المتغير العام scoreباستخدام المتغيرات المحلية، يكون لكل دالة وكتلة متغيراتها المنفصلة، لذا لا يمكن للكود في موضع ما أن يغيّر عن طريق الخطأ القيم المستخدمة في موضع آخر.
جرّب بنفسك
لا يتضمّن هذا الدرس تحدّيًا برمجيًا.
يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس الأساسيات
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 عبر الإنترنت