Menu
CoddyTech

Domyślne wartości parametrów

Część sekcji Wprowadzenie do Luau ścieżki Lua w Coddy. Lekcja 27 z 80.

Parametry opcjonalne pozostawiają ci wartość nil do obsłużenia. Często tak naprawdę potrzebujesz wartości zastępczej: „jeśli wywołujący nie podał wartości, przyjmij X”. Luau nie ma składni wartości domyślnej w sygnaturze (nie ma greeting: string = "Hello"); zamiast tego używa się klasycznego idiomu Lua, teraz z typami:

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

Parametr jest oznaczony jako opcjonalny (string?), a pierwsza linia treści funkcji zastępuje nil wartością domyślną. Działa to dlatego, że nil jest fałszywe: nil or "Hello" daje w wyniku "Hello". Po tej linii analizator wie, że greeting nie może już mieć wartości nil.

challenge icon

Wyzwanie

Łatwy

Przypisz parametrowi opcjonalnemu wartość domyślną.

  1. Napisz local function calculateTax(price: number, rate: number?): number.
  2. Jego pierwszy wiersz to rate = rate or 0.05; następnie zwróć price * rate.
  3. Wyświetl calculateTax(100) i calculateTax(200, 0.08).

Naciśnij Uruchom kod: wynik pokazuje 5, a następnie 16.

Spróbuj swoich sił

-- 1) calculateTax(price: number, rate: number?): number
--    domyślna stawka 0.05 z użyciem idiomu `or`
-- 2) wypisz calculateTax(100) oraz calculateTax(200, 0.08)

Wszystkie lekcje w sekcji Wprowadzenie do Luau

Poćwicz samodzielnie: Kompilator Luau online