Valori predefiniti per i booleani
Fa parte della sezione Introduzione a Luau del percorso Lua di Coddy. Lezione 28 di 80.
Una precisazione che conosci da Lua: or sostituisce anche false. Per un parametro boolean? che dovrebbe avere come valore predefinito true, flag = flag or true trasforma un false esplicito in true, perché false or true è true:
local function sendAlert(message: string, loud: boolean?)
loud = loud or true -- sendAlert("Hi", false) riceve comunque true
print(message, loud)
endUsa invece un controllo esplicito di nil. Imposta il valore predefinito solo quando l'argomento non è stato specificato:
local function sendAlert(message: string, loud: boolean?)
if loud == nil then
loud = true
end
print(message, loud)
end
sendAlert("Hi") -- Hi true
sendAlert("Hi", false) -- Hi falsePer le stringhe e i numeri, or è sicuro, perché solo nil e false sono valori falsy.
Sfida
FacileAssegna a un parametro booleano il valore predefinito true, che false non possa annullare.
- Scrivi
local function shippingCost(weight: number, insured: boolean?): number. - Inizia con
if insured == nil then insured = true end. - Restituisci
weight * 0.5 + 2quandoinsuredè true, altrimentiweight * 0.5. - Stampa
shippingCost(4)eshippingCost(4, false).
Premi Esegui codice: l'output termina con 4 e 2.
Provalo tu
-- Valore predefinito tramite l'idioma `or`
local function calculateTax(price: number, rate: number?): number
rate = rate or 0.05
return price * rate
end
print(calculateTax(100))
print(calculateTax(200, 0.08))
Tutte le lezioni di Introduzione a Luau
1Per iniziare con Luau
Che cos'è Luau?Perché usare Luau?Il tuo primo codice LuauVerifica dei tipi e modalità di erroreRiepilogo: introduzione a Luau4Lavorare con le funzioni
Tipizzare parametri e valori restituitiTipizzare le funzioni anonimeFunzioni che non restituiscono nullaParametri opzionaliValori predefiniti dei parametriValori predefiniti per i booleaniFunzioni variadicheDefinire i tipi di funzioneRiepilogo: funzioni tipizzate7Progetto: Gestore di attività tipizzato
Progetto: La struttura di un'attivitàFunzione per aggiungere un'attività2Tipi fondamentali
Numero, stringa e booleanoIl tipo 'any': una via di fugaIl tipo 'unknown'Tipi nil e opzionaliL’inferenza dei tipi in praticaAnnotazioni esplicite dei tipiRipasso: esercizi sui tipi fondamentali5Alias, unioni e intersezioni
Alias di tipo per i primitiviTipi unioneLavorare con i tipi unioneTipi letteraliTipi intersezioneCombinare gli alias di tipoRiepilogo: combinazioni avanzate di tipi3Tabelle tipizzate: array e mappe
Array tipizzatiAggiungere e leggere elementiChe cos'è un tipo map?Dichiarare e accedere alle mappeIterare sulle tabelleTabelle con forme misteLeggere una grigliaCreare una grigliatable.unpackRiepilogo: array e mappeEsercitati da solo: Compilatore Luau online