Menu
CoddyTech

Valores predeterminados de parámetros

Parte de la sección Introducción a Luau del Journey de Lua de Coddy. Lección 27 de 80.

Los parámetros opcionales te dejan un nil que debes gestionar. A menudo, lo que realmente quieres es un valor alternativo: «si quien llama no especificó nada, asumir X». Luau no tiene sintaxis para valores predeterminados en la firma (no existe greeting: string = "Hello"); en su lugar, se usa el modismo clásico de Lua, ahora con tipos:

function greet(name: string, greeting: string?): string
    greeting = greeting or "Hello"
    return `{greeting}, {name}`
end

print(greet("Alice"))            -- Hola, Alice
print(greet("Alice", "Howdy"))   -- Qué tal, Alice

El parámetro se anota como opcional (string?), y la primera línea del cuerpo reemplaza nil por el valor predeterminado. Funciona porque nil es falso: nil or "Hello" se evalúa como "Hello". Después de esa línea, el verificador sabe que greeting ya no puede ser nil.

challenge icon

Desafío

Fácil

Asigna un valor predeterminado a un parámetro opcional.

  1. Escribe local function calculateTax(price: number, rate: number?): number.
  2. Su primera línea es rate = rate or 0.05; después, devuelve price * rate.
  3. Imprime calculateTax(100) y calculateTax(200, 0.08).

Pulsa Ejecutar código: el resultado muestra 5, después 16.

Pruébalo tú mismo

-- 1) calculateTax(price: number, rate: number?): number
--    tasa predeterminada de 0.05 con el patrón `or`
-- 2) imprime calculateTax(100) y calculateTax(200, 0.08)

Todas las lecciones de Introducción a Luau

Practica por tu cuenta: Compilador de Luau online