English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
قبل استخدام المتغير، يجب إعلانه في الكود، أي إنشاء هذا المتغير.
قبل تنفيذ برنامج التنفيذ، يجب أن يعرف محول الأوامر كيفية إنشاء منطقة التخزين للتعريف المتغيرات لاستيعاب قيم المتغيرات.
للمتغيرات في Lua ثلاثة أنواع: متغيرات عالمية، متغيرات محلية، مجالات جدول.
كل متغيرات Lua هي متغيرات عالمية، حتى في كتل الأوامر أو الدوال، ما لم يتم تخصيصها كمتغيرات محلية باستخدام local.
مجال المتغيرات المحلية يكون من بداية مكان الإعلان إلى نهاية الكتلة الموجودة.
قيم المتغيرات الافتراضية هي nil.
-- ملف السكربت test.lua a = 5 -- متغير عالمي local b = 5 -- متغير محلي function joke() c = 5 -- متغير عالمي local d = 6 -- متغير محلي end joke() print(c,d) --> 5 nil do local a = 6 -- متغير محلي b = 6 -- تعيين متغيرات محلية print(a,b); --> 6 6 end print(a,b) --> 5 6
نتيجة تنفيذ الأمثلة أعلاه هي:
$ lua test.lua 5 nil 6 6 5 6
تعيين هو أساسيات تغيير قيمة المتغير وتغيير مجال الجدول.
a = "hello" .. "world" t.n = t.n + 1
يمكن لـ Lua تعيين قيم متعددة للمتغيرات في نفس الوقت، ويتم فصل عناصر قائمة المتغيرات وقائمة القيم بفواصل بيانات، ويتم توزيع القيم على المتغيرات بترتيبها.
a, b = 10, 2*x <--> a=10; b=2*x
عند مواجهة جملة تعيين، يبدأ Lua في حساب جميع القيم على الجانب الأيمن قبل تنفيذ عملية التعيين، لذا يمكننا القيام بتبادل قيم المتغيرات كما يلي:
x, y = y, x -- تبادل 'x' مقابل 'y' a[i], a[j] = a[j], a[i] -- تبادل 'a[i]' مقابل 'a[j]'
عندما لا تتطابق عدد المتغيرات وعدد القيم، يستمر Lua في اتخاذ السياسة التالية بناءً على عدد المتغيرات:
a. عدد المتغيرات > عدد القيم ملء nil بناءً على عدد المتغيرات b. 变量个数 < 值的个数 多余的值会被忽略
a, b, c = 0, 1 print(a,b,c) --> 0 1 nil a, b = a+1, b+1, b+2 -- قيمة b+2 يتم تجاهلها print(a,b) --> 1 2 a, b, c = 0 print(a,b,c) --> 0 nil nil
المثال الأخير في الأعلى هو حالة خطأ شائعة، انتبهوا: إذا كنت بحاجة إلى تعيين قيم متعددة، يجب تعيين كل قيمة بشكل فردي.
a, b, c = 0, 0, 0 print(a,b,c) --> 0 0 0
يُستخدم تعيين القيم المتعددة عادةً لتبادل المتغيرات أو نقل قيم النتائج من دعوة الوظيفة إلى المتغيرات:
a, b = f()
f() يعود بثلاثة قيم، الأولى تُعطى لـ a، والثانية تُعطى لـ b.
من الأفضل استخدام المتغيرات المحلية قدر الإمكان، ولديها ميزتان:
1. تجنب الصراع في الأسماء.
2. سرعة الوصول إلى المتغيرات المحلية أسرع من المتغيرات العالمية.
استخدام دوائر المفتاح [] للوصول إلى الفهرس في الجدول. يقدم Lua أيضًا عملية .
t[i] t.i -- مبسطة عند استخدام نوع النص للفهرس gettable_event(t,i) -- استخدام الوصول بالفهرس يشبه بشكل أساسي دعوة هذه الوظيفة
> site = {} > site["key"] = "ar.oldtoolbag.com" > print(site["key"]) ar.oldtoolbag.com > print(site.key) ar.oldtoolbag.com