Menu
CoddyTech

Typy sumy

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

Czasami jeden typ nie wystarcza. Identyfikator użytkownika może przyjść jako "user123" lub jako 42. W czystym Lua pozostaje tylko mieć nadzieję na najlepsze; Luau daje ci typy sumy: kreska pionowa | oznacza „lub”:

local userId: number | string

userId = "user123"  -- ✓ ciąg znaków jest dozwolony
userId = 42          -- ✓ liczba jest dozwolona
userId = true        -- ✗ błąd typu: boolean nie należy do unii

Zmienna może przechowywać dowolny element typu sumy i tylko te elementy. To kluczowa różnica w porównaniu z any: typ sumy pozostaje restrykcyjny co do tego, co jest dozwolone, a jednocześnie zapewnia potrzebną ci elastyczność.

Typy sumy 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 sumy! To po prostu skrócony zapis string | nil. W następnej lekcji dowiesz się, jak bezpiecznie pracować z wartością typu sumy, gdy już ją masz.

challenge icon

Wyzwanie

Łatwy

Akceptuj wartość, która jest liczbą lub ciągiem znaków.

  1. Napisz local function printId(id: number | string): (), która wypisuje id.
  2. Zadeklaruj local status: string | number = "active".
  3. Wywołaj printId(7) i printId("player7"), następnie ustaw status = 200 i wypisz tę wartość.

Naciśnij Uruchom kod: w wynikach pojawią się 7, player7 i 200.

Spróbuj swoich sił

-- 1) printId(id: number | string): ()
-- 2) local status: string | number = "active"
-- 3) wywołaj printId(7) i printId("player7"), ustaw status na 200 i wypisz go

Wszystkie lekcje w sekcji Wprowadzenie do Luau

Poćwicz samodzielnie: Kompilator Luau online