Menu
Coddy logo textTech

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 unii

Zmienna 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ów

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

challenge icon

Wyzwanie

Łatwy

Utwó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:

  1. Wywołaj printId(42)
  2. Wywołaj printId("<code>user123")
  3. Wyświetl status
  4. Przypisz ponownie status wartość 200 i 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
quiz iconSprawdź się

Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.

Wszystkie lekcje w sekcji Wprowadzenie do Luau

Poćwicz samodzielnie: Kompilator Luau online