Menu
CoddyTech

Valori predefiniti dei parametri

Fa parte della sezione Introduzione a Luau del percorso Lua di Coddy. Lezione 27 di 80.

I parametri facoltativi ti lasciano un nil da gestire. Spesso quello che vuoi davvero è un valore di ripiego: «se chi chiama non ha specificato nulla, presumi X». Luau non ha una sintassi per i valori predefiniti nella firma (non esiste greeting: string = "Hello"); invece si usa il classico idiom di Lua, ora con i tipi:

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

print(greet("Alice"))            -- Hello, Alice
print(greet("Alice", "Howdy"))   -- Howdy, Alice

Il parametro è annotato come facoltativo (string?) e la prima riga del corpo sostituisce nil con il valore predefinito. Funziona perché nil è falso: nil or "Hello" restituisce "Hello". Dopo quella riga, il verificatore sa che greeting non può più essere nil.

challenge icon

Sfida

Facile

Assegna un valore predefinito a un parametro opzionale.

  1. Scrivi local function calculateTax(price: number, rate: number?): number.
  2. La sua prima riga è rate = rate or 0.05; poi restituisci price * rate.
  3. Stampa calculateTax(100) e calculateTax(200, 0.08).

Premi Esegui codice: l'output mostra 5, poi 16.

Provalo tu

-- 1) calculateTax(price: number, rate: number?): number
--    valore predefinito di rate 0.05 con l'idioma `or`
-- 2) stampa calculateTax(100) e calculateTax(200, 0.08)

Tutte le lezioni di Introduzione a Luau

Esercitati da solo: Compilatore Luau online