Menu
CoddyTech

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, Alice

Le 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.

challenge icon

Défi

Facile

Donne une valeur par défaut à un paramètre facultatif.

  1. Écris local function calculateTax(price: number, rate: number?): number.
  2. Sa première ligne est rate = rate or 0.05 ; puis retourne price * rate.
  3. Affiche calculateTax(100) et calculateTax(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

Entraînez-vous par vous-même : Compilateur Luau en ligne