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(param1,param2,paramN)
--corpo da função
end
Exemplo 1
local variavel = function(param1)
print(param1)
end
variavel("teste")
Saída
teste
Função anônima como parâmetro/argumento
Agora que já sabemos criar funções anônimas na linguagem Lua, podemos criar funções anônimas e passá-las como
argumento para outras funções.
Sintaxe
function nome_funcao(param_funcao_anonima,param1,param2,paramN)
param_funcao_anonima(param1,param2,paramN)
end
Exemplo 2
--função que receberá a função anônima como parâmetro
function funcao(param1,param2)
param1(param2)
end
--função anônima
local variavel = function(param1)
print(param1)
end
--passando função anônima como parâmetro
funcao(variavel,"um string qualquer")
Saída
um string qualquer
O retorno de valores de funções anônimas é feito da mesma forma que funções comuns, utilizando comando return.
Sintaxe
variavel = function(param1,param2,paramN)
--corpo função
return valor
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
Retornando função anônima
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 que será retornada:
Exemplo 3
function funcao()
funcao_ret = function(valor)
print(valor)
end
--omitido
return funcao_ret
end
local ret_func = funcao()
ret_func("string");
ret_func(999);
Saída
string
999
Histórico de atualizações
- 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.