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 desselben Typs; Maps enthalten einen Schlüsseltyp und einen Werttyp. Deine häufigsten Lua-Tabellen mischen jedoch Typen in benannten Feldern: ein Spieler mit einem String-Namen, einer Punktzahl als Zahl und einem booleschen Flag. Luau beschreibt diese mit einer Struktur: einem Tabellentyp, der jedes Feld und seinen eigenen Typ auflistet.

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

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

Das Schlüsselwort type erstellt einen Typalias: einen wiederverwendbaren Namen für die Struktur. Er existiert nur für den Prüfer: Es wird kein Laufzeitwert namens Point erstellt. Jedes Feld kann 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`)

Nachdem die Struktur deklariert wurde, weiß der Prüfer, dass player.score eine Zahl ist, und meldet Fehler frühzeitig: einen Tippfehler wie player.scroe (kein solches Feld) oder die Zuweisung player.score = "high" (falscher Typ). Das ist der erste Einblick: Ein späteres Kapitel geht noch viel genauer auf Strukturen, optionale Felder und Methoden ein.

challenge icon

Aufgabe

Einfach

Definiere einen Typalias Player für eine Struktur mit drei Feldern: name: string, score: number und active: boolean.

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

Gib jeweils in einer eigenen Zeile aus:

  1. den Namen des Spielers
  2. den Punktestand des Spielers
  3. das Aktiv-Flag des Spielers
  4. die exakte Zeile Rio has 1500 points, die durch String-Interpolation aus den Feldern erstellt wird

Probier es selbst

-- Schreibe hier Code
-- 1) type Player = {name: string, score: number, active: boolean}
-- 2) erstelle player: Player = {name = "Rio", score = 1500, active = true}
-- 3) gib name, score, active aus, 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

Übe selbstständig: Online-Lua-Compiler