Lua bucle for

Lua 循环Bucles Lua

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

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 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

#!/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 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

#!/usr/local/bin/lua  
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
Saturday

Lua 循环Bucles Lua

Otras extensiones