Elemente hinzufügen und auslesen
Teil des Abschnitts Einführung in Luau der Lua-Journey von Coddy. Lektion 14 von 80.
Du vergrößerst und verkleinerst Lua-Tabellen bereits mit table.insert und table.remove: Beide funktionieren bei typisierten Arrays genau gleich. Der Unterschied ist, dass Luau jetzt überprüft, was du einfügst: Wenn du eine Zeichenfolge in ein {number}-Array einfügst, wird das bereits während der Eingabe markiert und nicht erst zur Laufzeit von einem verwirrten Spieler entdeckt.
local queue: {string} = {"save", "load"}
table.insert(queue, "quit") -- am Ende anhängen
table.insert(queue, 1, "help") -- an Position 1 einfügen und die übrigen Elemente verschieben
local last = table.remove(queue) -- entfernt das letzte Element UND gibt es zurücktable.remove(t) nimmt das letzte Element heraus und gibt es an dich zurück; table.remove(t, 1) entfernt das erste Element und verschiebt alles nach unten. Da das Array den Typ {string} hat, weiß Luau, dass der zurückgegebene Wert eine Zeichenfolge ist.
Das Lesen ist genauso unkompliziert wie in reinem Lua: Ein Index, an dem nichts steht, queue[0], queue[-1] oder ein Index jenseits von #queue ergibt stillschweigend nil. Es wird kein Fehler ausgelöst. Prüfe also auf nil, bevor du einen Wert verwendest, von dem du nicht sicher bist, dass er existiert.
Aufgabe
EinfachErweitere und verkleinere eine typisierte Liste von Bewegungen.
- Deklariere
local moves: {string} = {"jump", "run"}. - Füge mit
table.insert"duck"hinzu und füge dann"crawl"an Position 1 ein. - Speichere
table.remove(moves)inlocal removedund gib dannremoved,#moves,moves[1]undmoves[10]aus.
Klicke auf „Code ausführen“: Die Ausgabe zeigt duck, 3, crawl und nil.
Probier es selbst
-- 1) Deklariere moves: {string} mit "jump" und "run"
-- 2) Hänge "duck" an und füge "crawl" an Position 1 ein
-- 3) Entferne den letzten Zug und gib dann die vier Werte 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