Menu
Coddy logo textTech

Union-Typen

Teil des Abschnitts Einführung in Luau der Lua-Journey von Coddy. Lektion 31 von 73.

Manchmal reicht ein Typ nicht aus. Eine Benutzer-ID könnte als "user123" oder als 42 ankommen. In einfachem Lua würdest du einfach auf das Beste hoffen; Luau bietet dir Union-Typen: Das Pipe-Zeichen | wird als „oder“ gelesen:

local userId: number | string

userId = "user123"  -- ✓ ein String ist erlaubt
userId = 42          -- ✓ eine Zahl ist erlaubt
userId = true        -- ✗ Typfehler: boolean ist nicht in der Union

Die Variable kann entweder das eine oder das andere Mitglied der Union enthalten, und nur diese. Das ist der entscheidende Unterschied zu any: Eine Union bleibt streng dabei, was erlaubt ist, und bietet dir gleichzeitig die nötige Flexibilität.

Unions sind besonders nützlich für Funktionsparameter, die mehrere Eingabeformate akzeptieren:

function printId(id: number | string): ()
    print(id)
end

printId(42)          -- funktioniert mit einer Zahl
printId("user123")   -- funktioniert mit einem String

Du kennst bereits string?. Das war deine erste Union! Es ist einfach eine Kurzform für string | nil. In der nächsten Lektion lernst du, wie du sicher mit einem Union-Wert arbeitest, sobald du einen hast.

challenge icon

Aufgabe

Einfach

Erstelle eine Funktion namens printId, die id: number | string übernimmt und ausgibt: expliziter Rückgabetyp ().

Deklariere eine Variable status vom Typ string | number, initialisiert mit "<code>active".

Dann, in dieser Reihenfolge:

  1. Rufe printId(42) auf
  2. Rufe printId("<code>user123") auf
  3. Gib status aus
  4. Weise status erneut 200 zu und gib es wieder aus

Insgesamt vier Ausgabezeilen.

Probier es selbst

-- Schreibe hier Code
-- printId(id: number | string): ()
-- local status: string | number = der genaue Text aus den Anweisungen
-- rufe printId(42) auf, printId(den genauen Text aus den Anweisungen),
-- status ausgeben, auf 200 neu zuweisen, erneut ausgeben
quiz iconTeste dich selbst

Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.

Alle Lektionen in Einführung in Luau

Übe selbstständig: Online-Lua-Compiler