Menu
CoddyTech

Standardwerte für Parameter

Teil des Abschnitts Einführung in Luau der Lua-Journey von Coddy. Lektion 27 von 80.

Optionale Parameter bedeuten, dass du mit einem nil umgehen musst. Oft ist das, was du wirklich möchtest, ein Ersatzwert: „Wenn der Aufrufer nichts angegeben hat, nimm X an.“ Luau hat keine Syntax für Standardwerte in der Signatur (es gibt kein greeting: string = "Hello"); stattdessen verwendest du das klassische Lua-Idiom, jetzt mit Typen:

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

Der Parameter ist als optional gekennzeichnet (string?), und die erste Zeile des Funktionsrumpfs ersetzt nil durch den Standardwert. Das funktioniert, weil nil als falsch ausgewertet wird: nil or "Hello" ergibt "Hello". Nach dieser Zeile weiß der Prüfer, dass greeting nicht mehr nil sein kann.

challenge icon

Aufgabe

Einfach

Gib einem optionalen Parameter einen Standardwert.

  1. Schreibe local function calculateTax(price: number, rate: number?): number.
  2. Die erste Zeile lautet rate = rate or 0.05; gib dann price * rate zurück.
  3. Gib calculateTax(100) und calculateTax(200, 0.08) aus.

Klicke auf Run Code: Die Ausgabe zeigt 5, dann 16.

Probier es selbst

-- 1) calculateTax(price: number, rate: number?): number
--    Standardwert für rate 0.05 mit dem `or`-Idiom
-- 2) calculateTax(100) und calculateTax(200, 0.08) ausgeben

Alle Lektionen in Einführung in Luau

Übe selbstständig: Online-Luau-Compiler