Funciones que no Retornan Nada
Parte de la sección Introducción a Luau del Journey de Lua de Coddy. Lección 24 de 73.
Muchas funciones no calculan un valor. Hacen algo: imprimen un mensaje, actualizan una tabla o guardan el estado. En Luau puedes indicar que una función no devuelve nada con el tipo de retorno vacío ():
function logMessage(message: string): ()
print(message)
end
local counter = 0
function incrementCounter(): ()
counter += 1
endSi has visto TypeScript, () desempeña el papel de void, pero la forma de escribirlo en Luau es un par de paréntesis vacíos, literalmente «cero valores de retorno».
La anotación es opcional: omítela y Luau infiere que la función no devuelve nada. Escribir : () explícitamente documenta tu intención: cualquiera que lea la firma sabe que esta función se llama por sus efectos secundarios, no por su resultado.
En tiempo de ejecución no cambia nada (como de costumbre): una función sin un valor de return simplemente produce nil si intentas capturar su resultado: igual que en Lua puro.
Desafío
FácilCrea una función llamada displayWelcome que acepte userName: string y tenga un tipo de retorno explícito de (). Debe imprimir: "Welcome to our application, [userName]!"
Crea una función llamada logError que acepte errorMessage: string con el tipo de retorno (). Debe imprimir: "ERROR: [errorMessage]"
Crea una función llamada processData que no acepte parámetros y tenga el tipo de retorno (). Debe imprimir "Processing data..." y después "Data processing complete." en la línea siguiente.
Llámalas en este orden:
displayWelcome("Alice")processData()logError("Invalid input detected")displayWelcome("Bob")
Pruébalo tú mismo
-- Escribe código aquí
-- displayWelcome(userName: string): ()
-- logError(errorMessage: string): ()
-- processData(): ()
-- luego llama: displayWelcome("Alice"), processData(),
-- logError("Invalid input detected"), displayWelcome("Bob")
Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.
Todas las lecciones de Introducción a Luau
1Primeros pasos con Luau
¿Qué es Luau?¿Por qué usar Luau?Tu primer código en LuauComprobación de tipos y modos de errorRecapitulacion: Introducción a Luau4Trabajando con Funciones
Tipado de Parámetros y Valores de RetornoTipado de Funciones AnónimasFunciones que no Retornan NadaParámetros OpcionalesValores por Defecto en ParámetrosFunciones VariádicasDefinición de Tipos de FuncionesRecapitulaciones: Funciones Tipadas2Tipos principales
Tipos básicos: num, str, boolEl tipo 'any': Vía de escapeEl tipo 'unknown'Tipos nulos y opcionalesInferencia de tipos en acciónAnotaciones explícitas de tiposResumen: Práctica de tipos principales5Alias, Uniones e Intersecciones
Alias de tipos para primitivosTipos de uniónTrabajando con tipos de uniónTipos literalesTipos de intersecciónCombinando alias de tiposResumen: Combinaciones avanzadas de tipos3Tablas tipadas: Arrays y Maps
Arrays tipadosAñadir y leer elementos¿Qué es un tipo Map?Declarar y acceder a MapsIterar tablasTablas de forma mixtaArrays tipados multidimensionalestable.unpack y VarargsRecapitulaciones: Arrays y MapsPractica por tu cuenta: Compilador de Lua online