Menu
Coddy logo textTech

Gemischt-strukturierte Tabellen

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

Arrays enthalten viele Werte eines Typs; Maps enthalten einen Schlüsseltyp und einen Werttyp. Aber die am häufigsten verwendeten Lua-Tabellen mischen Typen unter benannten Feldern — ein Spieler mit einem Namens-string, einer number als Punktzahl, einem boolean-Flag. Luau typisiert diese mit einer shape: ein Tabellentyp, der jedes field und seinen eigenen type auflistet.

type Point = {x: number, y: number}

local origin: Point = {x = 0, y = 0}
print(origin.x)

Das Schlüsselwort type erstellt einen Type Alias — einen wiederverwendbaren Namen für die Shape. Er existiert nur für den Checker: Es wird kein Laufzeitwert namens Point erstellt. Die Felder können jeweils einen anderen Typ haben:

type Player = {name: string, score: number, active: boolean}

local player: Player = {name = "Rio", score = 1500, active = true}
print(`{player.name} has {player.score} points`)

Mit der deklarierten Shape weiß der Checker, dass player.score eine number ist, und meldet Fehler frühzeitig: ein Tippfehler wie player.scroe (kein solches Feld) oder die Zuweisung player.score = "high" (falscher Typ). Dies ist der erste Vorgeschmack — ein späteres Kapitel geht noch viel tiefer auf Shapes, optionale Felder und Methoden ein.

challenge icon

Aufgabe

Einfach

Definiere einen Typ-Alias Player für eine Shape mit drei Feldern: name: string, score: number und active: boolean.

Erstelle local player: Player mit dem Namen "Rio", Score 1500 und active gesetzt auf true.

Gib Folgendes jeweils in einer eigenen Zeile aus:

  1. den Namen des Players
  2. den Score des Players
  3. das Active-Flag des Players
  4. die exakte Zeile Rio has 1500 points, erstellt mittels String-Interpolation aus den Feldern

Probier es selbst

-- Schreibe Code hier
-- 1) type Player = {name: string, score: number, active: boolean}
-- 2) create player: Player = {name = "Rio", score = 1500, active = true}
-- 3) print name, score, active, dann die interpolierte Zusammenfassungszeile
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