Objetivos
    
    
    
        
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.
            
         
     
    
        
if
    
    
        
            
                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: Fluxograma Comando if
                
                
                
                    
                        
                              | 
                    
                
            
            Sintaxe
            
if ( condicao ) then
   -- código
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: Fluxograma 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 
                relacionais e 
                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: Fluxograma 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
             condicao1..3: 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
            
                A condição entre ( e ) pode ser composta de várias expressões utilizando os operadores 
                relacionais e 
                lógicos já estudados.
            
         
     
    
    
        
            
                Como na maioria das linguagens, os comandos de decisão acimas podem 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
            
-
         
     
    
        Histórico de atualizações
        
     
    
        
            
                - 15/09/2025 - revisão 3 - Ajustes: pontuais, sintaxes, objetivos e target de links internos
 
                - 12/09/2024 - revisão 2 - Ajustes gramaticais
 
                - 03/10/2023 - revisão 1 - Correção em referências, 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.