Objetivos
    
    
    
    
        
            
                A linguagem Lua possui o recurso de funções anônimas. Esse tipo de função possui as 
                mesmas características das Funções vistas anteriormente, com exceção de que não possuem nome. 
                São declaradas, atribuídas à variáveis e invocadas a partir do nome das variáveis as quais foram atribuídas.
            
            Sintaxe
            
nome_variavel = function()
    --corpo da função
end
            Exemplo 1
            
local variavel = function(param1)
  print(param1)
end
variavel("teste")
            Saída
            
teste
         
     
    
        Função anônima com parâmetro
        
     
    
        
            
                Agora que já sabemos criar funções anônimas na linguagem Lua, podemos criar funções anônimas com 
                parâmetros:
            
            Sintaxe
            
nome_variavel = function(param1, ... ,paramN)
    --corpo da função
end
            Exemplo 2
            
--função anônima
local variavel = function(param1,param2)
  print(param1)
end
variavel(1, "string")
            Saída
            
1     string
         
     
    
    
        
            
                O retorno de valor em função anônima é feito da mesma forma que funções comuns, utilizando 
                comando return.
            
            Sintaxe
            
variavel = function(<parametros>)
  --corpo função
  return valor_retorno
end
            Exemplo 3
            
local variavel = function(param1)
  return param1*2
end
local retorno = variavel(2)
print(retorno)
            Saída
            
4
            
                O retorno de múltiplos valores em funções anônimas também é feito da mesma forma que em funções:
            
            Exemplo 5
            
local variavel = function(param1)
  --corpo função
  return param1*2,param1*3,param1*4
end
local ret1,ret2,ret3 = variavel(2) --chamada
print(ret1,ret2,ret3)
            Saída
            
4	6	8
         
     
    
    
        
            
                Lua permite que uma função anônima possa ser retornada por uma função. Para isso, 
                basta atribuir uma função anônima à uma variável para ser retornada:
            
            
            Exemplo 3
            
function funcao()
  funcao_ret = function(valor)
    print(valor)
  end
  --omitido
  return funcao_ret --função anônima retornada
end
local ret_func = funcao()
ret_func("string");
ret_func(999);
            Saída
            
string
999
         
     
    
        Histórico de atualizações
        
     
    
        
            
                - 15/09/2025 - revisão 4 - Ajustes: pontuais, sintaxes e objetivos
 
                - 12/06/2025 - revisão 3 - Adição 'Retornando função anônima.'
 
                - 12/09/2024 - revisão 2 - Pequenos ajustes gramaticais
 
                - 03/10/2023 - revisão 1 - Correção em referências e erros gramaticais
 
                - 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.