Clique sobre os tópicos listados abaixo para navegar até o conteúdo desejado.

  1. Comandos de decisão
  2. Comandos de repetição e parada
  3. Outros comandos

A linguagem Lua possui comandos de decisão, repetição e parada. Semelhante à linguagens como Rust e Python, não possui o comando de escolha switch.

Nesta parte do tutorial vamos estudar os tipos de comandos mencionados acima com exemplos básicos para melhor compreensão.

Para a tomada de decisões em nossos programas escritos em Lua, os seguintes comandos estão disponbíveis na tabela abaixo. Clique no nome do comando para visitar sua respectiva seção.

Clique aqui pra ir à página principal desses comandos.

Tab. 1: Comandos Decisão
Comando Descrição
if Condição se
if-else Condição se-senão
if-else-if Condição se-senão-se
"if ternário" Condição se-senão

O conceito de comandos de decisão foram discutidos em Portugol e Tutorial C.

Para a realizar repetições em nossos programas escritos em Lua, os seguintes comandos estão disponbíveis na tabela abaixo.

Clique aqui pra ir à página principal desses comandos.

Tab. 2: Comandos Repetição
Comando Descrição
while laço enquanto-faça
repeat-until laço repita até
for laço para
break comando de parada

O conceito de comandos repetição foram discutidos em Portugol e Tutorial C.

Outros comandos que não se encaixam nos grupos acima serão listadas na tabela abaixo. Mais comandos serão adicionados em futuras atualizações.

Comando Descrição
goto comando de salto
return comando de fluxo
Outros em estudo

O comando de salto goto é uma instrução de controle de fluxo que desvia o fluxo de execução para um determinado ponto desejado que é informado por um label ou rótulo.

Sintaxe: goto
goto nome_label;
Sintaxe: label
::nome_label::;
Exemplo
::label1::
print("label1")
goto label3

::label2::
print("label2")
goto fim

::label3::
print("label3")
goto label2

::fim::
print("fim")
Saída
label1
label3
label2
fim

O comando return também é uma instruções de controle de fluxo que é usado para retornar de uma função ou método para o fluxo principal. Esse retorno pode conter ou não um valor atribuído.

Sintaxe
return; 
return valor;
Exemplo
function funcao1()
  return 0
end

print(funcao1())
Saída
0

Em Lua: Básico > Função, esse comando será visto com mais informações que vão além do exemplo mostrado acima.

  1. 11/12/2025 - revisão 4 - Adição: "if ternário". Ajustes: target de links "Clique aqui..." e objetivos
  2. 15/09/2025 - revisão 3 - Ajustes: pontuais, objetivos e target de links internos
  3. 12/09/2024 - revisão 2 - Correção em links comandos de repetição e ajustes gramaticais
  4. 03/10/2023 - revisão 1 - Correção em referências e erros gramaticais
  5. 26/05/2023 - versão inicial