Funciones que no devuelven nada
Parte de la sección Introducción a Luau del Journey de Lua de Coddy. Lección 25 de 80.
Muchas funciones no calculan un valor. Hacen algo: imprimen un mensaje, actualizan una tabla, guardan el estado. En Luau puedes indicar que una función no devuelve nada con el tipo de retorno vacío ():
local function logMessage(message: string): ()
print(message)
end
local counter = 0
local function incrementCounter(): ()
counter += 1
endSi conoces TypeScript, () desempeña el papel de void, pero en Luau se escribe con un par de paréntesis vacíos, literalmente «cero valores de retorno».
La anotación es opcional: si la omites, Luau deduce que la función no devuelve nada. Escribir : () explícitamente documenta tu intención: cualquiera que lea la firma sabrá que esta función se llama por sus efectos secundarios, no por su resultado.
En tiempo de ejecución no cambia nada (como siempre): una función sin un valor de return simplemente produce nil si intentas capturar su resultado: igual que en Lua puro.
Desafío
FácilEscribe dos funciones que impriman y no devuelvan nada.
- Escribe
local function displayWelcome(userName: string): ()que imprima`Welcome, {userName}!`. - Escribe
local function logError(errorMessage: string): ()que imprima`ERROR: {errorMessage}`. - Llama a
displayWelcome("Alice")y después alogError("Invalid input").
Pulsa Run Code: la salida muestra Welcome, Alice! y ERROR: Invalid input.
Pruébalo tú mismo
-- 1) displayWelcome(userName: string): ()
-- 2) logError(errorMessage: string): ()
-- 3) llama a displayWelcome("Alice"), luego a logError("Invalid input")
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 Luau4Trabajar con funciones
Tipado de parámetros y valores de retornoTipado de funciones anónimasFunciones que no devuelven nadaParámetros opcionalesValores predeterminados de parámetrosValores predeterminados para booleanosFunciones variádicasDefinir tipos de funcionesRepaso: funciones tipadas7Proyecto: Gestor de tareas tipado
Proyecto: La estructura de una tareaFunción para añadir una tarea2Tipos fundamentales
Número, cadena y booleanoEl tipo 'any': una salida de emergenciaEl tipo 'unknown'Tipos nulos y opcionalesLa inferencia de tipos en acciónAnotaciones de tipo explícitasRepaso: práctica de tipos fundamentales5Alias, 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 mapas
Arrays tipadosAgregar y leer elementos¿Qué es un tipo mapa?Declarar y acceder a mapasRecorrer tablasTablas de formas mixtasLeer una cuadrículaConstruir una cuadrículatable.unpackRepaso: arrays y mapasPractica por tu cuenta: Compilador de Luau online