English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Оператор goto в Lua позволяет перенаправить поток управления на помеченные инструкции.
Синтаксис представлен ниже:
goto Label
Формат Label:
:: Label ::
Следующий пример использует goto в условиях:
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:
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:
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