Break e continue
break encerra o laço while, repeat ou for numérico mais interno:
local number = 1
while true do if number > 3 then break end
print(number) number += 1endcontinue avança o laço mais interno sem executar o restante de seu corpo:
for number = 1, 6 do if number == 3 then continue end
print(number)endSeu destino depende do loop:
| Laço | continue prossegue para |
|---|---|
while |
a condição |
repeat |
a condição de until |
for numérico |
o avanço verificado do intervalo |
Ambas as instruções atuam somente sobre o laço mais interno e não recebem rótulo nem valor. Uma função local aninhada cria um limite: ela não pode executar break nem continue no laço de quem a chamou.
Na rc.3, um repeat que declara no corpo uma variável local usada por until não pode também usar continue para chegar a essa condição, pois a declaração ignorada poderia deixar a condição sem um valor inicializado.
