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

  1. Entender o comando if
  2. Entender o comando if-else
  3. Entender o comando if-else-if
  4. Entender o aninhamento de comandos de decisão

Lua possui os seguintes comandos de decisão: if, if-else e if-else-if. Esses podem ser aninhados ou não. Diferente de outras linguagens no estilo-C, Lua utiliza then e end para definição do corpo do comando.

No comando if uma condição é verificada retornando true ou false. Caso a condição seja true, o bloco de código contido dentro do comando é executado.

Fig. 1: Comando if
Sintaxe
if ( condicao ) then
   -- seu código aqui
end
Onde
condicao: expressão que retorna um boolean
Exemplo 1
local x = 10
local y = 5

if ( x > y) then
  print(x)
end

Saída
10

A condição entre ( e ) pode ser composta de várias expressões utilizando os operadores lógicos são estudados.

No comando if-else uma condição é verificada retornando true ou false. Caso a condição seja true, o bloco de código contido dentro do comando if é executado. Caso contrário, o código contido no corpo do comando else é executado.

Fig. 2: Comando if-else
Sintaxe
if (condicao) then
 --declarações para condição true
else
 --declarações para condição false
end
Onde
condicao: expressão que retorna um boolean
Exemplo 2
local x = 10
local y = 20

if ( x > y) then
  print(x)
else
  print(y)
end

Saída
20

A condição entre ( e ) pode ser composta de várias expressões utilizando os operadores lógicos já estudados.

O comando if-else-if aninhado é a junção dos comando if e if/else estudados acima. Utilizado quando é necessário realizarmos validações em cascata.

Fig. 3: Comando if-elseif
Sintaxe
if ( condicao1) then
 -- declarações p/ condicao1 == true
elseif ( condicao2) then
 -- declarações p/ condicao2 == true
elseif ( condicao3) then
 -- declarações p/ condicao3 == true
else
 -- declarações quando condicao1, 2 e 3  == false
end
Onde

 condicao: expressão que retorna um boolean
Exemplo 3
local x = 15

if ( x == 0) then
  print(0)
elseif (x == 5) then
  print(5)
elseif (x == 10) then
  print(10)
else
  print("valor invalido")
end
Saída
valor invalido

As condições entre ( e ) pode ser composta de várias expressões utilizando os operadores lógicos já estudados.

Como na maioria das linguagens, os comandos de decisão, acimas outros, podemos ser declarados de forma aninhada(Nested).

Exemplo 4
if (condicao)  then
	--declarações se condicao == true
	if (condicao2) then
		--declarações se condicao2 == true
	else
		--declarações se condicao2 == false
		if (condicao3) then
			--declarações se condicao3 == true
		elseif (condicao4) then
			--declarações se condicao4 == true
		elseif (condicao5) then
                        --declarações se condicao5 == true
		else
			--declarações se condicao3,4 e 5  == false
		end
	end
end
Saída
-

As condições entre ( e ) pode ser composta de várias expressões utilizando os operadores lógicos já estudados.

  1. 12/09/2024 - revisão 2 - Ajustes gramaticais
  2. 03/10/2023 - revisão 1 - Correção em referências, erros gramaticais e adição de fluxogramas
  3. 26/05/2023 - versão inicial