Menu
CoddyTech

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
end

Si 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.

challenge icon

Desafío

Fácil

Escribe dos funciones que impriman y no devuelvan nada.

  1. Escribe local function displayWelcome(userName: string): () que imprima `Welcome, {userName}!`.
  2. Escribe local function logError(errorMessage: string): () que imprima `ERROR: {errorMessage}`.
  3. Llama a displayWelcome("Alice") y después a logError("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

Practica por tu cuenta: Compilador de Luau online