Objetivos
Comandos de repetição
Lua possui os comandos while, repeat until e for. Diferente dos comandos
de decisão, o comando do e end são utilizados para definição do corpo dos
comandos de repetição.
Os comandos de repetição nos auxiliam na execução de trechos de código de forma repetida.
while
No comando while uma condição é verificada. Se a condição for verdadeira, o
trecho de código contido no corpo do comando while será executado.
Fig. 1: Fluxograma Comando while
 |
Sintaxe
while(condicao) do
--trecho de código executado caso condicao == true
end
Onde
condicao: expressão que retorna um boolean
Exemplo 1
local x = 0
while ( x < 5) do
print(x)
x = x + 1
end
Saída
0
1
2
3
4
A condição entre ( e ) pode ser composta de várias expressões utilizando os operadores
relacionais e
lógicos já estudados.
Quando não temos conhecimento da quantidade de vezes que um trecho de código deve ser executado,
utilizamos o comando while.
No comando repeat until, um trecho de código é executado inicialmente e por último
uma condição é verificada. Se a condição for verdadeira(true), o trecho de código definido
no corpo do comando é executado.
Fig. 2: FLuxograma Comando repeat-until
 |
Sintaxe
repeat
--trecho de código executa na primeira vez
--e quando condicao for igual a true
until(condicao)
Onde
condicao: expressão que retorna um boolean
Exemplo 2
local x = 0
repeat
print(x)
x = x + 1
until ( x > 4)
Saída
0
1
2
3
4
A condição entre ( e ) pode ser composta de várias expressões utilizando os operadores
relacionais e
lógicos já estudados.
Para fazermos executar trechos de forma repetida e quando sabemos a quantidade de vezes,
utilizamos o comando for que possui o fluxograma e a sintaxe abaixo:
Fig. 3: Comando for
 |
Sintaxe
for nome_variavel = limite, <tvalor_mim_max> , incremento do
--corpo do comando
end
Onde
valor_inicial: valor inicial para o repetição
<limitee>: valor mínimo ou máximo para finalizar comando. Incluído ao ser validado como limite.
incremento: o número de incremento/decremento em que as repetições irão avançar/retroceder.
Exemplo 3
local x
for x=0,3,1 do
print(x)
end
Saída
0
1
2
3
Exemplo 4
local x
for x=3,0,-1 do
print(x)
end
Saída
3
2
1
0
Nos comandos de repetição estudados acima, executam trechos de código de acordo com
as condições impostas em sua declaração. Porém, há momentos que precisamos encerrar
o laço atual. Para isso utilizamos o comando break.
Sintaxe
break
Exemplo 5
local x
for x=0,4,1 do
print(x)
if ( x ==2 ) then
break
end
end
Saída
0
1
2
Exemplo 6
local x = 0
while ( x < 5) do
print(x)
if ( x ==2 ) then
break
end
x = x + 1
end
Saída
0
1
2
Exemplo 7
local x = 0
repeat
print(x)
if ( x ==2 ) then
break
end
x = x + 1
until ( x > 4)
Saída
0
1
2
Assim como os comandos de decisão, os comandos de repetição também podem ser declarados de
forma aninhada.
Exemplo 8
for x,4,1 do
--trecho de codigo
for y,4,1 do
--trecho de código
end
end
Saída
-
Exemplo 8
local x = 0
repeat
--(..)
repeat
--(...)
until (y > 4)
until ( x > 4)
Saída
-
Histórico de atualizações
- 15/09/2025 - revisão 4 - Ajustes: pontuais, sintaxes, objetivos, target de links; Adição: Ex. 4
- 12/09/2024 - revisão 3 - Ajustes gramaticais, remoção de texto introdução e aninhamento
- 30/08/2024 - revisão 2 - Correção em links de objetivos
- 03/10/2023 - revisão 1 - Correção em referências e erros gramaticais e adição de fluxogramas
- 26/05/2023 - versão inicial
Os cursos oferecidos nesta página são cursos fornecidos por parceiros. Ao comprar um curso clicando
em seu banner, você está ajudando a manter o projeto TutorialDev vivo. Os sites dos cursos parceiros utilizam cookies.