English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
La declaración goto en el lenguaje Lua permite que el flujo de control se desplace de manera incondicional a la instrucción marcada.
El formato de sintaxis es como se muestra a continuación:
goto Label
El formato de Label es:
:: Label ::
El siguiente ejemplo muestra el uso de goto en una declaración de condición:
local a = 1 ::label:: print("--- goto label ---) a = a+1 if a < 3 then goto label -- a menor que 3 cuando se salta al etiqueta label endEl resultado de la salida es:
--- goto label --- --- goto label ---
Como se puede ver en la salida de salida, se produjo una salida adicional --- goto label ---。
El siguiente ejemplo muestra que se pueden establecer múltiples instrucciones en un label:
i = 0 ::s1:: do print(i) i = i+1 end if i>3 then os.exit() -- i mayor que 3 salir end goto s1
El resultado de la salida es:
0 1 2 3
Con goto, podemos implementar la función 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
El resultado de la salida es:
1 yes continue i'm end 2 yes continue i'm end 3 no continue i'm end