As funções permitem "empacotar" trechos de código que você usa em seus scripts e chamá-los mais tarde. Eles também permitem que você execute operações em uma entrada e retorne uma saída. Finalmente, eles também permitem que você receba uma entrada e execute certas coisas com base na entrada. Os argumentos, também chamados de parâmetros, permitem que você passe valores para uma função que ela pode usar para produzir um resultado diferente ou fornecer uma saída diferente.
Os argumentos são muito semelhantes às variáveis locais criadas quando você chama a função:
função NAME (Argumento1, Argumento2, Argumento3, etc)
O corpo da função é onde a ação ocorre, ele contém o código que será executado quando a função for chamada. Ele pode acessar os argumentos passados a ele sob os nomes definidos na lista de argumentos da função.
Qualquer código que você deseja executar quando a função é chamada deve ir no corpo da função.
função NOME () - Impressão do corpo da função (2 + 2) - Fim do corpo da função NOME () - 4
Qualquer instrução de retorno colocada na função interromperá instantaneamente a função e retornará todos os valores subsequentes.
função func () print (2 + 2) return 2 --A função termina aqui print ("Isso nunca será impresso porque já retornamos.") end
Funções, como todas as outras estruturas de controle, exceto a estrutura de repetição, terminam com a palavra-chave 'fim'.
Qualquer quantidade de argumentos
Às vezes, você pode precisar de uma função que aceite qualquer quantidade de argumentos. Você faria isso usando este código.
função função (...) local args = {...} fim
Agora, 'args' é definido como uma tabela, que contém todos os argumentos fornecidos.
Tipos de dados | |||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Tipos básicos de Lua | zero · booleano · número · corda · função · dados do usuário · mesa | ||||||||||||||||||||||||||||||
Tipos Roblox |
| ||||||||||||||||||||||||||||||
Tipos C ++ | bool · duplo · flutuar · int · int64 · anular |