Valeurs par défaut pour les booléens
Fait partie de la section Introduction à Luau du Journey Lua de Coddy. Leçon 28 sur 80.
Une mise en garde que tu connais grâce à Lua : or remplace aussi false. Pour un paramètre boolean? qui doit prendre la valeur true par défaut, flag = flag or true transforme un false explicite en true, car false or true vaut true :
local function sendAlert(message: string, loud: boolean?)
loud = loud or true -- sendAlert("Hi", false) reçoit quand même true
print(message, loud)
endUtilise plutôt une vérification explicite de nil. Elle attribue la valeur par défaut uniquement lorsque l’argument a été omis :
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 falsePour les chaînes et les nombres, or est sûr, car seuls nil et false sont considérés comme faux.
Défi
FacileDonne à un paramètre booléen la valeur par défaut true, qu’un false ne peut pas annuler.
- Écris
local function shippingCost(weight: number, insured: boolean?): number. - Commence par
if insured == nil then insured = true end. - Retourne
weight * 0.5 + 2lorsqueinsuredest vrai, sinonweight * 0.5. - Affiche
shippingCost(4)etshippingCost(4, false).
Appuie sur Run Code : la sortie se termine par 4 et 2.
Essayez vous-même
-- Valeur par défaut grâce à l’idiome `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))
Toutes les leçons de Introduction à Luau
1Premiers pas avec Luau
Qu'est-ce que Luau ?Pourquoi utiliser Luau ?Votre premier code LuauVérification de type et modes d'erreurRécapitulatif : Introduction à Luau4Travailler avec les fonctions
Typer les paramètres et les valeurs de retourTyper les fonctions anonymesFonctions sans valeur de retourParamètres optionnelsValeurs par défaut des paramètresValeurs par défaut pour les booléensFonctions variadiquesDéfinir des types de fonctionsRécapitulatif : fonctions typées7Projet : gestionnaire de tâches typé
Projet : la structure d’une tâcheFonction pour ajouter une tâche2Types fondamentaux
Nombre, chaîne de caractères et booléenLe type « any » : une échappatoireLe type « unknown »Types nil et optionnelsL’inférence de types en actionAnnotations de type explicitesRécapitulatif : exercices sur les types fondamentaux5Alias, unions et intersections
Alias de types pour les types primitifsTypes unionsTravailler avec les types unionsTypes littérauxTypes intersectionsCombinaison d'alias de typesRécapitulatif : Combinaisons de types avancées3Tables typées : tableaux et maps
Tableaux typésAjouter et lire des élémentsQu’est-ce qu’un type Map ?Déclarer et accéder aux mapsParcourir les tablesTables de formes mixtesLire une grilleConstruire une grilletable.unpackRécapitulatif : tableaux et mapsEntraînez-vous par vous-même : Compilateur Luau en ligne