0Pricing
Lua Academy · Lektion

Elemente hinzufügen und entfernen

Verwenden Sie table.insert und remove.

Elemente hinzufügen und entfernen ist eine kostenlose Lua Academy-Lektion auf CoddyKit. Dies ist Lektion 2 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des Lua Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Lua Academy-Kurs umfasst insgesamt 4 Lektionen.

Eine Sequenz erweitern

Listen ändern während der Programmausführung häufig ihre Größe. Lua stellt table.insert bereit, um Elemente am Ende anzuhängen.

Da Sequenzen 1-basiert sind, landet ein Anhängen nach zwei Elementen am Index 3.

local list = {"a", "b"}
table.insert(list, "c")
print(list[1], list[2], list[3])

table.insert hängt Elemente an

Wird table.insert(t, value) mit zwei Argumenten aufgerufen, platziert die Funktion value an der Position direkt nach dem aktuellen letzten Index.

Jeder Aufruf vergrößert die Sequenz um eins und hält die Indizes lückenlos.

local q = {}
table.insert(q, "first")
table.insert(q, "second")
print(q[1], q[2])

An einer Position einfügen

Mit drei Argumenten fügt table.insert(t, pos, value) das Element am Index pos ein und verschiebt die nachfolgenden Elemente nach hinten.

Hier fügen wir "X" an Position 2 ein, sodass das bisherige zweite Element auf Position 3 verschoben wird.

local list = {"a", "b", "c"}
table.insert(list, 2, "X")
print(list[1], list[2], list[3], list[4])

Am Anfang einfügen

Um ein Element am Anfang einzufügen, fügen Sie es an Position 1 ein. Jedes vorhandene Element wird um einen Index nach hinten verschoben.

Das ist praktisch, aber bei großen Listen langsamer, da Lua alle Elemente verschieben muss.

local list = {"b", "c"}
table.insert(list, 1, "a")
print(list[1], list[2], list[3])

Das letzte Element entfernen

table.remove(t) mit einem Argument löscht das letzte Element und gibt es zurück.

Die Sequenz wird um eins kürzer und bleibt lückenlos.

local list = {"a", "b", "c"}
local gone = table.remove(list)
print("removed:", gone)
print(list[1], list[2], list[3])

An einer Position entfernen

table.remove(t, pos) löscht das Element an pos und verschiebt die nachfolgenden Elemente nach unten, um die Lücke zu schließen.

Denken Sie daran, dass Positionen 1-basiert sind. Mit pos = 1 entfernen Sie also das erste Element.

local list = {"a", "b", "c"}
local gone = table.remove(list, 1)
print("removed:", gone)
print(list[1], list[2])

Remove gibt den Wert zurück

Beide Formen von table.remove geben den entnommenen Wert zurück, sodass Sie ihn sofort verwenden können.

Dadurch kann sich eine Tabelle wie ein Stapel verhalten: Mit insert legen Sie Werte ab, mit remove nehmen Sie sie wieder heraus.

local stack = {}
table.insert(stack, 10)
table.insert(stack, 20)
local top = table.remove(stack)
print("popped:", top)

Eine einfache Warteschlange

Fügen Sie Elemente am Ende ein und entfernen Sie sie am Anfang (pos = 1), um eine Warteschlange zu modellieren: First In, First Out.

Bei jeder Entfernung wird der Rest nach unten verschoben, sodass das nächste Element an Index 1 wartet.

local queue = {}
table.insert(queue, "Ann")
table.insert(queue, "Bob")
print("serving:", table.remove(queue, 1))
print("next:", queue[1])

Manuelle Lücken vermeiden

Wenn Sie ein Element mit list[2] = nil auf nil setzen, kann dadurch eine Lücke in der Mitte entstehen, die die Sequenz unterbricht.

Verwenden Sie stattdessen table.remove. Die Funktion verschiebt die Elemente und hält die Indizes fortlaufend.

local list = {"a", "b", "c"}
table.remove(list, 2)
print(list[1], list[2])

Aus Eingaben aufbauen

Ein gängiges Muster: Beginnen Sie mit einer leeren Tabelle und hängen Sie Elemente an, sobald Daten eintreffen.

Hier sammeln wir gerade Zahlen mithilfe von insert in einer neuen, lückenlosen Sequenz.

local evens = {}
for n = 1, 6 do
  if n % 2 == 0 then
    table.insert(evens, n)
  end
end
print(evens[1], evens[2], evens[3])

Insert und Remove gemeinsam verwenden

Sie können die Operationen beliebig kombinieren. Im Folgenden hängen wir drei Namen an und entfernen anschließend den mittleren.

Nach dem Entfernen enthält die Liste zwei lückenlos aufeinanderfolgende Elemente.

local names = {}
table.insert(names, "Al")
table.insert(names, "Bea")
table.insert(names, "Cy")
table.remove(names, 2)
print(names[1], names[2])

Kurzer Test

Überlegen Sie, wie das Entfernen die Sequenz verschiebt.

Zusammenfassung

Sie haben gelernt, Listen mit table.insert zu erweitern (Elemente anzuhängen oder an einer 1-basierten Position einzufügen) und sie mit table.remove zu verkleinern. Diese Funktion gibt den entfernten Wert zurück und schließt Lücken.

Vermeiden Sie manuelle nil-Lücken. Als Nächstes lernen Sie, mit ipairs übersichtlich zu iterieren.

Häufig gestellte Fragen

Ist die Lektion „Elemente hinzufügen und entfernen“ kostenlos?

Ja — der vollständige Text von „Elemente hinzufügen und entfernen“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des Lua Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Lua Academy-Kurs umfasst insgesamt 4 Lektionen.

Was lerne ich in „Elemente hinzufügen und entfernen“?

Verwenden Sie table.insert und remove. Du übst Lua Academy mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.

Brauche ich Erfahrung, um Lua Academy zu starten?

Keine Vorkenntnisse erforderlich. Lua Academy auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 2 von 4.

Wie lange dauert die Lektion „Elemente hinzufügen und entfernen“?

Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.

Kann ich in dieser Lua Academy-Lektion Code schreiben und ausführen?

Ja. Jede Lua Academy-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.

Alle Lektionen in diesem Kurs

  1. Arrays als Tabellen
  2. Elemente hinzufügen und entfernen
  3. Mit ipairs iterieren
  4. Länge und Sortierung
← Zurück zu Lua Academy