Lua para loop reduzir i? Comportamento estranho [duplicado]
Esta pergunta já tem uma resposta aqui:
Decrementando um contador de loop enquanto o loop está sendo executado 1 respostaAlguém pode me explicar isso?
for i = 1, 5 do
print(i)
i = i - 1
print(i)
end
A saída é:
1
0
2
1
3
2
and so forth
Eu esperava que eu alterasse entre 1 e 0. Mas obviamente ele continua aumentando como se eu não tivesse mudado nada. O que está acontecendo?
Eu tenho que excluir um i'th elemento da tabela de vez em quando. Portanto, o próximo elemento a ser processado seria i novamente. Em C, eu apenas escreveria --i no final do meu conteúdo de loop. Alguma maneira oficial de lua? :)