English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

جملة goto بلغة Lua

الدورات بلغة Lua

جملة goto في لغة Lua تسمح بتحويل عملية التحكم بشكل غير مشروط إلى الجملة المميزة.

النحو

صيغة اللغة هي كما يلي:

goto Label

صيغة Label هي:

:: Label ::

في هذا المثال، يتم استخدام goto في جملة الحكم:

مثال 1

local a = 1
::label:: print("--- goto label ---")
a = a+1
if a < 3 then
    goto label   -- a أقل من 3 عند التحول إلى العلامة label
end
النتيجة الخارجة هي:
--- goto label ---
--- goto label ---

من النتائج الخارجة يمكن ملاحظة أن هناك مرة إضافية --- goto label ---

في هذا المثال، يتم عرض كيفية تعيين عدة جمل في label:

مثال 2

i = 0
::s1:: do
  print(i)
  i = i+1
end
if i>3 then
  os.exit()   -- i أكبر من 3 عند الخروج
end
goto s1

النتيجة الخارجة هي:

0
1
2
3

باستخدام goto، يمكننا تحقيق وظيفة continue:

مثال 3

for i=1, 3 do
    if i <= 2 then
        print(i, "yes continue")
        goto continue
    end
    print(i, " no continue")
    ::continue::
    print([[i'm end]])
end

النتيجة الخارجة هي:

1   yes continue
i'm end
2   yes continue
i'm end
3    no continue
i'm end

الدورات بلغة Lua