Typisierte Arrays
Teil des Abschnitts Einführung in Luau der Lua-Journey von Coddy. Lektion 13 von 73.
Typisierte Arrays gehören zu Luau's nützlichsten Funktionen, um mehrere Werte zu organisieren und dabei Typsicherheit zu gewährleisten.
In Lua ist ein Array einfach eine Tabelle mit Werten an den Positionen 1, 2, 3, …, und es kann problemlos gleichzeitig eine Zahl, einen String und einen booleschen Wert enthalten. Mit Luau kannst du deklarieren, dass eine Tabelle nur Elemente eines einzigen Typs enthalten soll, 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 darin enthalten sind. Fügst du ein String in ein {number}-Array 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 gibt die Länge an, und table.insert / table.remove funktionieren wie gewohnt. Die Annotation sorgt für Sicherheit, nicht für ein neues Laufzeitverhalten.
Aufgabe
EinfachErstelle ein typisiertes Array namens scores, das nur Zahlen enthalten kann und mit 85, 92 und 78 initialisiert wird.
Erstelle ein zweites typisiertes Array namens studentNames, das nur Zeichenketten enthalten kann und mit "Alice", "Bob" und "Charlie" initialisiert wird.
Gib anschließend jeweils in einer eigenen Zeile aus:
- die erste Punktzahl
- wie viele Punktzahlen es gibt (verwende
#) - den zweiten Namen eines Studierenden
Probier es selbst
-- Schreibe hier den Code
-- 1) deklariere scores: {number} und studentNames: {string}
-- 2) gib den ersten Score, die Anzahl der Scores und den zweiten Namen aus
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