Funções que Não Retornam Nada
Parte da seção Introdução ao Luau do Journey de Lua da Coddy — lição 24 de 73.
Muitas funções não calculam um valor — elas fazem algo: imprimem uma mensagem, atualizam uma tabela, salvam o estado. Em Luau, você pode anotar que uma função retorna nada com o tipo de retorno vazio ():
function logMessage(message: string): ()
print(message)
end
local counter = 0
function incrementCounter(): ()
counter += 1
endSe você já viu TypeScript, () desempenha o papel de void — mas a grafia em Luau é um par de parênteses vazios, literalmente "zero valores de retorno".
A anotação é opcional: deixe-a de fora e o Luau infere que a função não retorna nada. Escrever : () documenta explicitamente sua intenção — qualquer pessoa lendo a assinatura sabe que esta função é chamada por seus efeitos colaterais (side effects), não por seu resultado.
Em tempo de execução nada muda (como de costume): uma função sem um valor de return simplesmente produz nil se você tentar capturar seu resultado — o mesmo que no Lua comum.
Desafio
FácilCrie uma função chamada displayWelcome que recebe userName: string e possui um tipo de retorno explícito (). Ela deve imprimir: "Welcome to our application, [userName]!"
Crie uma função chamada logError que recebe errorMessage: string com tipo de retorno (). Ela deve imprimir: "ERROR: [errorMessage]"
Crie uma função chamada processData que não recebe parâmetros, com tipo de retorno (). Ela deve imprimir "Processing data..." e depois "Data processing complete." na linha seguinte.
Chame-as nesta ordem:
displayWelcome("Alice")processData()logError("Invalid input detected")displayWelcome("Bob")
Experimente você mesmo
-- Escreva o código aqui
-- displayWelcome(userName: string): ()
-- logError(errorMessage: string): ()
-- processData(): ()
-- então chame: displayWelcome("Alice"), processData(),
-- logError("Invalid input detected"), displayWelcome("Bob")
Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.
Todas as lições de Introdução ao Luau
1Começando com o Luau
O que é Luau?Por que usar Luau?Seu primeiro código em LuauVerificação de tipos e modos de erroRecapitulando: Introdução ao Luau4Trabalhando com Funções
Tipando Parâmetros e Valores de RetornoTipando Funções AnônimasFunções que Não Retornam NadaParâmetros OpcionaisValores Padrão para ParâmetrosFunções VariádicasDefinindo Tipos de FunçõesRecapitulação: Funções Tipadas2Tipos Fundamentais
Tipos Básicos: num, str, boolO Tipo 'any': Escape HatchO Tipo 'unknown'Tipos Nil e OpcionaisInferência de Tipos na PráticaAnotações Explícitas de TiposReciclagem: Prática de Tipos Fundamentais5Aliases, Uniões, Interseções
Aliases de Tipos para PrimitivosTipos de UniãoTrabalhando com Tipos de UniãoTipos LiteraisTipos de InterseçãoCombinando Aliases de TiposRecapitulando: Combinações Avançadas de Tipos3Tabelas Tipadas: Arrays e Maps
Arrays TipadosAdicionando e Lendo ElementosO que é um Tipo Map?Declarando e Acessando MapsIterando Sobre TabelasTabelas de Formato MistoArrays Tipados Multidimensionaistable.unpack e VarargsRecapitulando: Arrays e Maps