Typy sumy
Część sekcji Wprowadzenie do Luau ścieżki Lua w Coddy. Lekcja 31 z 73.
Czasami jeden typ to za mało. Identyfikator użytkownika może mieć postać "user123" lub 42. W zwykłym Lua można tylko mieć nadzieję na najlepsze; Luau daje ci typy sumujące: znak potoku | oznacza „lub”:
local userId: number | string
userId = "user123" -- ✓ ciąg znaków jest dozwolony
userId = 42 -- ✓ liczba jest dozwolona
userId = true -- ✗ błąd typu: typ boolean nie należy do uniiZmienna może przechowywać dowolny element typu sumującego i tylko te elementy. To kluczowa różnica w porównaniu z any: typ sumujący ściśle określa, co jest dozwolone, zapewniając jednocześnie potrzebną elastyczność.
Typy sumujące są szczególnie przydatne w przypadku parametrów funkcji, które akceptują różne formaty danych wejściowych:
function printId(id: number | string): ()
print(id)
end
printId(42) -- działa z liczbą
printId("user123") -- działa z ciągiem znakówZnasz już string?. To był twój pierwszy typ sumujący! To po prostu skrót od string | nil. W następnej lekcji dowiesz się, jak bezpiecznie pracować z wartością typu sumującego.
Wyzwanie
ŁatwyUtwórz funkcję o nazwie printId, która przyjmuje id: number | string i wyświetla je: jawny typ zwracany ().
Zadeklaruj zmienną status typu string | number, zainicjalizowaną wartością "<code>active".
Następnie, w tej kolejności:
- Wywołaj
printId(42) - Wywołaj
printId("<code>user123") - Wyświetl
status - Przypisz ponownie
statuswartość200i wyświetl ją ponownie
Łącznie cztery wiersze wyniku.
Spróbuj swoich sił
-- Napisz kod tutaj
-- printId(id: number | string): ()
-- local status: string | number = dokładny tekst z instrukcji
-- wywołaj printId(42), printId(dokładny tekst z instrukcji),
-- wyświetl status, przypisz mu ponownie wartość 200, a następnie wyświetl go ponownie
Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.
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 niczego nie zwracająceParametry opcjonalneDomyślne wartości parametrówFunkcje wariadyczneDefiniowanie typów funkcjiPodsumowanie: funkcje z typami2Typy podstawowe
Typy podstawowe: num, str, boolTyp „any”: furtka awaryjnaTyp „unknown”Typy Nil i opcjonalneInferencja typów w praktyceJawne adnotacje typówPowtórka: ćwiczenie typów podstawowych5Aliasy, 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
Tablice typowaneDodawanie i odczytywanie elementówCzym jest typ mapy?Deklarowanie map i dostęp do nichIterowanie po tabelachTabele o mieszanej strukturzeWielowymiarowe tablice typowanetable.unpack i varargsPodsumowanie: tablice i mapyPoćwicz samodzielnie: Kompilator Luau online