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.