نعود لإكمال السلسة بعد غياب خمسة أشهر وهذه المرة مع المتغيرات أو الـ Variables

المتغيرات

ببساطة يمكن أن نعرف المتغيرات في لوا على أنها أماكن لحفظ القيم. هناك ثلاثة أنواع من المتغيرات: عالمية المجال، محلية المجال، وحقول مجدولة (global, local & table fields). أي متغير غير معرّف مسبقاً فهو nil بشكل افتراضيا و nil هنا تعني أنه لا توجد قيمة معينه للمتغير أو أنه فارغ.

عالمية المجال

المتغيرات العالمية لا تحتاج لتعريفه "Declarations". يمكنك ببساطة تعيين قيمة لإنشائه:

print( s )  --> nil  لا توجد قيمة لأننا لم نقم بتعيين أي قيمة فيطبع لنا 
s = "موقع أرابيا"
print( s )  --> موقع أرابيا

المتغيرات العالمية تبقى موجودة ما دام التطبيق قيد التشغيل. يمكنك حذف متغير عمومي عن طريق تعيين لا شيء عليه، والمقصود تعيين قيمة بـ nil. عند هذه النقطة، المتغير العالمي يتصرف كما لو أنه لم تم تهيئة أبداً. s = nil print( s ) --> nil

محلية المجال

يتم تعريف المتغيرات المحلية باستخدام عبارة local

x = 1         -- متغير عالمي
local y = 10  -- متغير محلي

وخلافاً للمتغيرات العالمية، المتغيرات المحلية مرئية فقط في الكتلة الني تم التعريف بها. مجال المتغير المحلي يبدأ بعد إعلان وينتهي في نهاية الكتلة. غير مفهوم؟ لنأخذ مثال للتوضيح :)

a = 10
local i = 1

while ( i <= 10 ) do
    local a = i*i  -- المتغير هنا متغير محلي لأنه ضمن نطاق هذه الكتلة وقمنا بتعريفه كمحلي
    print( a )     --> 1, 4, 9, 16, 25, ...
    i = i + 1
end

print( a )         --> 10 (هنا المتغير عالمي 'a')

الحقول المجدولة

الحقول المجدولة ليست سوى عناصر للجدوال. تستطيع فهرستها كالمصفوفات لتعيين قيم للحقول.

t = { foo="hello" }  -- إنشاء جدول بحقل واحد باسم foo
print( t.foo )       --> "hello"

t.foo = "مع السلامة"        -- "foo" تعيين قيمة إلى حقل
print( t.foo )       --> "مع السلامة"

t.bar = 10           --إنشاء حقل جديدة باسم "bar"
print( t.bar )       --> 10
print( t["bar"] )    --> 10

السلسلة القادمة ستكون عن: العبارات المنطقية - Expressions