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.
Aufgabe
EinfachDefiniere 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:
- den Namen des Spielers
- den Punktestand des Spielers
- das Aktiv-Flag des Spielers
- 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
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
1Erste Schritte mit Luau
Was ist Luau?Warum Luau nutzen?Dein erster Luau-CodeTypprüfung & FehlermodiZusammenfassung: Einführung in Luau4Arbeiten mit Funktionen
Typisierung von Parametern & RückgabewertenTypisierung von anonymen FunktionenFunktionen ohne RückgabewertOptionale ParameterStandard-ParameterwerteVariadische FunktionenDefinieren von FunktionstypenZusammenfassung: Typisierte Funktionen2Grundtypen
Grundlegende Typen: num, str, boolDer Typ 'any': Der AuswegDer Typ 'unknown'Nil- & optionale TypenTypinferenz in der PraxisExplizite TypannotationenZusammenfassung: Praxis zu Grundtypen5Typ-Aliase, Union-Typen und Schnittmengen-Typen
Typ-Aliase für PrimitivenUnion-TypenArbeiten mit Union-TypenLiterale TypenSchnittmengen-Typen (Intersection Types)Kombination von Typ-AliasenZusammenfassung: Fortgeschrittene Typ-Kombinationen3Typisierte Tabellen: Arrays & Maps
Typisierte ArraysHinzufügen und Lesen von ElementenWas ist ein Map-Typ?Deklarieren und Zugreifen auf MapsIterieren von TabellenGemischt-strukturierte TabellenMehrdimensionale typisierte Arraystable.unpack und VarargsZusammenfassung: Arrays und MapsÜbe selbstständig: Online-Lua-Compiler