Valeurs par défaut des paramètres
Fait partie de la section Introduction à Luau du Journey Lua de Coddy. Leçon 27 sur 80.
Les paramètres facultatifs vous laissent une valeur nil à gérer. Souvent, ce que vous voulez vraiment, c’est une valeur de repli : « si l’appelant n’a rien précisé, supposer X ». Luau n’a pas de syntaxe de valeur par défaut dans la signature (il n’y a pas de greeting: string = "Hello") ; à la place, on utilise l’idiome classique de Lua, désormais avec des types :
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, AliceLe paramètre est annoté comme facultatif (string?), et la première ligne du corps remplace nil par la valeur par défaut. Cela fonctionne parce que nil est une valeur fausse : nil or "Hello" donne "Hello". Après cette ligne, le vérificateur sait que greeting ne peut plus être nil.
Défi
FacileDonne une valeur par défaut à un paramètre facultatif.
- Écris
local function calculateTax(price: number, rate: number?): number. - Sa première ligne est
rate = rate or 0.05; puis retourneprice * rate. - Affiche
calculateTax(100)etcalculateTax(200, 0.08).
Appuie sur Run Code : le résultat affiche 5, puis 16.
Essayez vous-même
-- 1) calculateTax(price: number, rate: number?): number
-- taux par défaut de 0.05 avec l’idiome `or`
-- 2) afficher calculateTax(100) et 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