مشغلي الحساب
مشغلي Lua الحسابي هم:
"+" (إضافة):
نسخة الكود كما يلي:
طباعة (1 + 2)
"-" (الطرح):
نسخة الكود كما يلي:
طباعة (2 - 1)
"*" (الضرب):
نسخة الكود كما يلي:
طباعة (1 * 2)
"/"(قسم):
نسخة الكود كما يلي:
طباعة (1/2)
"^" (فهرس):
نسخة الكود كما يلي:
طباعة (27^(-1/3))
"٪" (نموذج):
نسخة الكود كما يلي:
طباعة (5 ٪ 3)
المشغلين العلائقيين
يوفر Lua المشغلين العلائقيين التاليين:
نسخة الكود كما يلي:
<> <=> = == ~ =
العمليات التي يتم إرجاعها من قبل المشغلين أعلاه صحيحة أو خاطئة. لا يمكن مقارنة السلاسل بالأرقام
العوامل المنطقية
يشمل المشغلون المنطقيون و ، أو لا
نسخة الكود كما يلي:
طباعة (1 و 2)
طباعة (لا شيء و 1)
طباعة (خطأ و 2)
طباعة (1 أو 2)
طباعة (خطأ أو 5)
يعامل المشغلون المنطقيون كاذبًا ولا خطأ ، والآخرين صحيحون.
المتغيرات المحلية والنطاق
ينشئ LUA متغيرات محلية من خلال البيانات المحلية ، ويقتصر نطاق المتغيرات المحلية على الكتلة التي تعلن عنها.
نسخة الكود كما يلي:
المحلي أ ، ب = 1 ، 10
إذا كان A <B ثم
طباعة (أ)
محلي أ
طباعة (أ)
نهاية
طباعة (أ ، ب)
يمكن أن يؤدي توفير المتغيرات العالمية مع المتغير المحلي إلى تسريع الوصول إلى المتغيرات العالمية في النطاق الحالي. لتأثير التسارع ، قارن وقت تنفيذ تسلسل فيبوناتشي أدناه للحساب:
نسخة الكود كما يلي:
وظيفة فيبوناتشي (ن)
إذا n <2 ثم
العودة ن
نهاية
إرجاع Fibonacci (N - 2) + Fibonacci (N - 1)
نهاية
io.write (Fibonacci (50) ، "/N")
استخدم المتغير المحلي المحلي
نسخة الكود كما يلي:
الوظيفة المحلية فيبوناتشي (ن)
إذا n <2 ثم
العودة ن
نهاية
إرجاع Fibonacci (N - 2) + Fibonacci (N - 1)
نهاية
io.write (Fibonacci (50) ، "/N")
هيكل التحكم
إذا كان ذلك بعد أن انتهى
نسخة الكود كما يلي:
إذا num == 1 ثم
طباعة (1)
elseif num == 2 ثم
طباعة (2)
آخر
طباعة ("آخر")
نهاية
لوا لا يدعم عبارات التبديل
بينما
أولا الحكم على الشرط. إذا كانت الشرط صحيحة ، فقم بتنفيذ جسم الحلقة ، وإلا فإنه سينتهي
نسخة الكود كما يلي:
محلي i = 1
بينما [أنا] أفعل
طباعة (A [i])
i = i + 1
نهاية
تكرار
قم أولاً بتنفيذ هيئة الدورة الدموية مرة واحدة ، ثم تحكم على الحالة. إذا كانت الحالة صحيحة ، فقم بالخروج من جسم الدورة الدموية ، وإلا استمر في تنفيذ جسم الدورة الدموية. على غرار التصريحات أثناء القيام به بلغات أخرى ، سيتم تنفيذ هيئة الحلقة مرة واحدة على الأقل.
نسخة الكود كما يلي:
المحلي A = 1
يكرر
a = a + 1
ب = أ
طباعة (ب)
حتى ب <10
للحلقة
هناك نموذجان لبيانات الحلقة: رقمي لـ (Numeric for) ، عام لـ (عام)
رقم بناء الجملة:
نسخة الكود كما يلي:
للبدء ، نهاية ، خطوة تفعل
تفعل شيئا
نهاية
البداية هي قيمة البداية ، النهاية هي القيمة النهائية ، والخطوة هي حجم الخطوة (اختياري ، الافتراضي هو 1)
نسخة الكود كما يلي:
لـ A = 10 ، 0 ، -2 تفعل
طباعة (أ)
نهاية
عام للحلقات يعبر جميع القيم من خلال وظيفة التكرار:
نسخة الكود كما يلي:
tab = {key1 = "val1" ، key2 = "val2" ، "val3"}
لـ k ، v في أزواج (علامة تبويب) تفعل
إذا كان k == "key2" ثم
استراحة
نهاية
طباعة (ك .. " -" .. الخامس)
نهاية
تُستخدم عبارات الاستراحة والعودة للخروج من الكتلة التي تم تنفيذها حاليًا.