O retorno de valores de funções em Lua é feito de forma mais simples comparado a outras linguagens.
Não precisamos declarar o tipo de dados que a função irá retornar, apenas é necessário utilizar o
comando return.
Sintaxe
return valor
Exemplo 6
function funcao1(v1,v2)
return v1 + v2
end
local soma = funcao1(1,2)
print(soma)
As funções escritas em Lua podem retornar mais de um valor como em linguagens
como Go e Rust. Para retornar de múltiplos valores em Lua, basta separar
os valores por (,).
Sintaxe
return valor1, valor2, valorN
Exemplo 7
function funcao()
return 1,'C',1.99,"string";
end
local a,b,c,d = funcao()
print(a)
print(b)
print(c)
print(d)
Saída
1
C
1.99
string
Com os comandos de decisão if ou if-elseif podemos utilizar o comando return
uma ou mais vezes ao longo do corpo da função:
Exemplo 8
local x
function funcao(param)
if( param%2 == 0) then
return true
end
return false
end
print(funcao(2))
Saída
true