English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Las sentencias de bucle for en Lua pueden repetir la ejecución de una instrucción específica, y la cantidad de repetición puede controlarse en la sentencia for.
En el lenguaje de programación Lua, las sentencias for tienen dos grandes categorías:
Bucle for numérico
Bucle for genérico
Formato de sintaxis de bucle for numérico en el lenguaje de programación Lua:
for var=exp1,exp2,exp3 do <Cuerpo de ejecución> end
var desde exp1 cambiar a exp2, cada cambio con exp3 Para el aumento del paso var, y ejecutar una vez "Cuerpo de ejecución".exp3 es opcional, si no se especifica, se usa el valor predeterminado de1.
for i=1,f(x) do print(i) end for i=10,1,-1 do print(i) end
Las tres expresiones de for se evalúan una vez al inicio del bucle y no se evalúan nuevamente. Por ejemplo, f(x) se ejecuta solo una vez al inicio del bucle y su resultado se usa en el bucle posterior.
Verificación:
#!/usr/local/bin/lua function f(x) print("function") return x*2 end for i=1,f(5) do print(i) end
El resultado de la salida del ejemplo anterior es:
function 1 2 3 4 5 6 7 8 9 10
Se puede ver que la función f(x) se ejecuta solo una vez al inicio del bucle.
El bucle for genérico itera todos los valores a través de una función de iterador, similar a la sentencia foreach en Java.
El formato de sintaxis del bucle for genérico en el lenguaje de programación Lua:
--Imprimir todos los valores del array a a = {"uno", "dos", "tres"} for i, v in ipairs(a) do print(i, v) end
i es el valor de índice del array, v es el valor del elemento del array en el índice correspondiente. ipairs es una función de iterador proporcionada por Lua, usada para iterar arrays.
Bucle de array days:
#!/usr/local/bin/lua days = {"Domingo","Lunes","Martes","Miércoles","Jueves","Viernes","Sábado"} for i, v in ipairs(days) do print(v) end
El resultado de la salida del ejemplo anterior es:
Sábado Domingo Lunes Martes Miércoles Jueves Sábado