English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
A instrução de loop for no Lua pode repetir uma instrução específica várias vezes, e o número de repetições pode ser controlado dentro da instrução for.
A sintaxe do comando for no Lua tem dois grandes tipos:
Loop for numérico
Loop Genérico
Formato da sintaxe de loop for numérico em linguagem de programação Lua:
for var=exp1,exp2,exp3 do <Corpo de execução> end
var de exp1 muda para exp2cada vez que muda para exp3 Para var de passo incrementado, execute uma vez "Corpo de Execução"。3 é opcional, se não for especificado, o valor padrão é1。
for i=1,f(x) do print(i) end for i=10,1,-1 do print(i) end
Os três expressões do for são avaliadas uma vez no início do loop e não são avaliadas novamente. Por exemplo, o f(x) é executado apenas uma vez no início do loop e seu resultado é usado no loop posterior.
Verificação conforme:
#!/usr/local/bin/lua function f(x) print("function") return x*2 end for i=1,f(5) do print(i) end
O resultado de exemplo acima é:
function 1 2 3 4 5 6 7 8 9 10
Pode ser visto que a função f(x) é executada apenas uma vez no início do loop.
O loop genérico usa uma função de iterador para percorrer todos os valores, semelhante à expressão foreach no Java.
A sintaxe de loop genérico do linguagem de programação Lua é:
--Imprimir todos os valores do array a a = {"one", "two", "three"} for i, v in ipairs(a) do print(i, v) end
i é o valor de índice do array, v é o valor do elemento do array correspondente ao índice. ipairs é uma função de iterador fornecida pelo Lua, usada para iterar arrays.
Loopar a matriz days:
#!/usr/local/bin/lua days = {"Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"} for i,v in ipairs(days) do print(v) end
O resultado de exemplo acima é:
Segunda-feira Domingo Segunda-feira Terça-feira Quarta-feira Quinta-feira Sábado