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, AliceParametr 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.
Wyzwanie
ŁatwyPrzypisz parametrowi opcjonalnemu wartość domyślną.
- Napisz
local function calculateTax(price: number, rate: number?): number. - Jego pierwszy wiersz to
rate = rate or 0.05; następnie zwróćprice * rate. - Wyświetl
calculateTax(100)icalculateTax(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
1Pierwsze kroki z Luau
Czym jest Luau?Dlaczego warto używać Luau?Twój pierwszy kod w LuauSprawdzanie typów i tryby błędówPodsumowanie: Wprowadzenie do Luau4Praca z funkcjami
Typowanie parametrów i wartości zwracanychTypowanie funkcji anonimowychFunkcje niezwracające wartościParametry opcjonalneDomyślne wartości parametrówWartości domyślne dla typów BooleanFunkcje wariadyczneDefiniowanie typów funkcjiPodsumowanie: funkcje z typami2Podstawowe typy
Number, String i BooleanTyp 'any': wyjście awaryjneTyp 'unknown'Nil i typy opcjonalneInferencja typów w praktyceJawne adnotacje typówPowtórka: ćwiczenia z podstawowych typów5Aliasy, typy sumy i przekroju
Aliasy typów dla typów prostychTypy sumyPraca z typami sumyTypy literałoweTypy przekrojuŁączenie aliasów typówPodsumowanie: zaawansowane kombinacje typów3Typowane tabele: tablice i mapy
Typowane tabliceDodawanie i odczytywanie elementówCzym jest typ mapy?Deklarowanie i uzyskiwanie dostępu do mapIterowanie po tabelachTabele o mieszanej strukturzeOdczytywanie siatkiTworzenie siatkitable.unpackPodsumowanie: tablice i mapyPoćwicz samodzielnie: Kompilator Luau online