Lua bucle for
En el lenguaje de programación Lua, la declaración de bucle for puede ejecutar repetidamente declaraciones especificadas, y el número de repeticiones se puede controlar en la declaración for.
En el lenguaje de programación Lua, hay dos categorías de declaraciones for:
- Bucle for numérico
- Bucle for genérico
Bucle for numérico
Formato de sintaxis del bucle for numérico en el lenguaje de programación Lua:
for var=exp1,exp2,exp3 do
<执行体>
end
var cambia de exp1 a exp2, cada cambio incrementa var con exp3 como paso, y ejecuta una vez"cuerpo de ejecución". exp3 es opcional; si no se especifica, el valor predeterminado es 1.
Ejemplo
Ejemplo
print(i)
end
for i=10,1,-1 do
print(i)
end
Las tres expresiones de for se evalúan una sola vez antes de que comience el bucle, y no se vuelven a evaluar después. Por ejemplo, f(x) de arriba se ejecuta solo una vez antes de que comience el bucle, y su resultado se usa en los bucles posteriores.
La verificación es la siguiente:
Ejemplo
function f(x)
print("function")
return x*2
end
for i=1,f(5) do print(i)
end
El resultado de 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 antes de que comience el bucle.
Bucle for genérico
El bucle for genérico recorre todos los valores mediante una función iteradora, similar a la declaración foreach en Java.
Formato de sintaxis del bucle for genérico en el lenguaje de programación Lua:
--打印数组a的所有值
a = {"one", "two", "three"}
for i, v in ipairs(a) do
print(i, v)
end
i es el valor del índice del array, v es el valor del elemento del array correspondiente al índice. ipairs es una función iteradora proporcionada por Lua para iterar arrays.
Ejemplo
Recorrer el array days:
Ejemplo
days = {"Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"}
for i,v in ipairs(days) do print(v) end
El resultado de salida del ejemplo anterior es:
Sunday Monday Tuesday Wednesday Thursday Friday SaturdayOtras extensiones
Bucles Lua