Typisierte Arrays
Teil des Abschnitts Einführung in Luau der Lua-Journey von Coddy. Lektion 13 von 80.
Typisierte Arrays sind eine der nützlichsten Funktionen von Luau, um mehrere Werte zu organisieren und dabei die Typsicherheit zu gewährleisten.
In Lua ist ein Array einfach eine Tabelle mit Werten an den Positionen 1, 2, 3, …, und sie kann problemlos gleichzeitig eine Zahl, eine Zeichenfolge und einen booleschen Wert enthalten. In Luau kannst du deklarieren, dass eine Tabelle nur Elemente eines Typs enthalten darf, indem du die Syntax {Type} verwendest:
local numbers: {number} = {1, 2, 3, 4, 5}
local names: {string} = {"Alice", "Bob", "Charlie"}
local flags: {boolean} = {true, false, true}Wenn du ein typisiertes Array deklarierst, stellt Luau's Typprüfer sicher, dass nur Werte des deklarierten Typs hineingelangen. Fügst du eine Zeichenfolge in ein Array vom Typ {number} ein, erhältst du bereits beim Bearbeiten einen Typfehler, bevor der Code überhaupt ausgeführt wird:
local scores: {number} = {85, 90, 78}
table.insert(scores, "oops") -- ✗ Typfehler: string ist keine numberAlles, was du bereits über Lua-Tabellen weißt, gilt weiterhin: Arrays sind 1-basiert (scores[1] ist das erste Element), #scores ist die Länge, und table.insert / table.remove funktionieren wie gewohnt. Die Typannotation sorgt für zusätzliche Sicherheit, nicht für neues Laufzeitverhalten.
Aufgabe
EinfachSpeichere Punktzahlen und Namen in typisierten Arrays.
- Deklariere
local scores: {number} = {85, 92, 78}. - Deklariere
local studentNames: {string} = {"Alice", "Bob", "Charlie"}. - Gib
scores[1],#scoresundstudentNames[2]aus, jeweils in einer eigenen Zeile.
Klicke auf Run Code: Die Ausgabe zeigt 85, 3 und Bob.
Probier es selbst
-- 1) Deklariere scores: {number} und studentNames: {string}
-- 2) Gib den ersten Wert aus scores, die Anzahl der Werte in scores und den zweiten Namen aus
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 Luau4Mit Funktionen arbeiten
Parameter und Rückgabewerte typisierenAnonyme Funktionen typisierenFunktionen ohne RückgabewertOptionale ParameterStandardwerte für ParameterStandardwerte für boolesche WerteFunktionen mit variabler ParameteranzahlFunktionstypen definierenRückblick: typisierte Funktionen7Projekt: Typisierter Aufgabenmanager
Projekt: Die AufgabenstrukturFunktion zum Hinzufügen einer Aufgabe2Grundlegende Typen
Zahl, String und BooleanDer Typ „any“: NotausgangDer Typ „unknown“Nil- und optionale TypenTypinferenz in der PraxisExplizite TypannotationenRückblick: Übung zu grundlegenden Typen5Typ-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 ArraysElemente hinzufügen und auslesenWas ist ein Map-Typ?Maps deklarieren und auf Elemente zugreifenTabellen durchlaufenTabellen mit gemischten FormenEin Raster auslesenEin Raster erstellentable.unpackRückblick: Arrays und MapsÜbe selbstständig: Online-Luau-Compiler