Menu
CoddyTech

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ück

table.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.

challenge icon

Aufgabe

Einfach

Erweitere und verkleinere eine typisierte Liste von Bewegungen.

  1. Deklariere local moves: {string} = {"jump", "run"}.
  2. Füge mit table.insert "duck" hinzu und füge dann "crawl" an Position 1 ein.
  3. Speichere table.remove(moves) in local removed und gib dann removed, #moves, moves[1] und moves[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

Übe selbstständig: Online-Luau-Compiler