Arrays als Tabellen
1-basierte Indizierung in Lua.
Arrays als Tabellen ist eine kostenlose Lua Academy-Lektion auf CoddyKit. Dies ist Lektion 1 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.
Tabellen sind Listen in Lua
Lua hat einen einzigen Containertyp: die Tabelle. Wenn Sie Werte in einer bestimmten Reihenfolge speichern, verhält sich die Tabelle wie ein Array oder eine Liste.
Sie erstellen eine leere Tabelle mit {} und füllen sie später, oder Sie listen die Werte direkt innerhalb der geschweiften Klammern auf.
local fruits = {"apple", "banana", "cherry"}
print(fruits)Die Indizierung beginnt bei 1
Das ist die wichtigste Regel: Lua-Arrays sind 1-basiert. Das erste Element befindet sich am Index 1, nicht bei 0.
Verwenden Sie eckige Klammern, um ein Element anhand seiner Position zu lesen.
local fruits = {"apple", "banana", "cherry"}
print(fruits[1])
print(fruits[2])
print(fruits[3])Index 0 ist leer
Da das Zählen bei 1 beginnt, enthält die Position 0 normalerweise nichts.
Das Lesen eines Index, der nie gesetzt wurde, gibt nil zurück. Wer aus anderen Sprachen kommt, stolpert häufig darüber.
local colors = {"red", "green", "blue"}
print(colors[0])
print(colors[1])Ein Element schreiben
Weisen Sie einer Position mit der Syntax für eckige Klammern einen Wert zu, um ihn festzulegen oder zu ersetzen.
Hier wird das zweite Element überschrieben. Die Änderung ist beim nächsten Lesen dieses Index sichtbar.
local scores = {10, 20, 30}
scores[2] = 99
print(scores[2])Eine Tabelle Schritt für Schritt aufbauen
Sie können mit einer leeren Tabelle beginnen und Elemente an aufeinanderfolgenden Indizes hinzufügen. Denken Sie daran, bei 1 zu beginnen, damit eine lückenlose Sequenz entsteht.
Eine Sequenz hat keine Lücken: Die Indizes 1, 2 und 3 sind alle belegt.
local nums = {}
nums[1] = 5
nums[2] = 10
nums[3] = 15
print(nums[1], nums[2], nums[3])Gemischte Werttypen
Eine Lua-Tabelle kann Werte verschiedener Typen in derselben Sequenz enthalten: Zahlen, Zeichenketten und boolesche Werte.
Lua verlangt nicht, dass jedes Element denselben Typ hat, wie es bei manchen Sprachen der Fall ist.
local mixed = {42, "hello", true}
print(mixed[1])
print(mixed[2])
print(mixed[3])Alle Elemente ausgeben
Um jedes Element anzuzeigen, durchlaufen Sie die Indizes mit einer numerischen for-Schleife von 1 aufwärts.
Eine übersichtlichere Methode (ipairs) lernen Sie in einer späteren Lektion kennen, aber diese Schleife macht den 1-basierten Bereich deutlich.
local pets = {"cat", "dog", "fish"}
for i = 1, 3 do
print(i, pets[i])
endVerschachtelte Tabellen
Ein Element einer Tabelle kann selbst eine Tabelle sein. So können Sie Zeilen, Raster oder gruppierte Daten aufbauen.
Verketten Sie eckige Klammern, um auf innere Elemente zuzugreifen: grid[1][2] liest Zeile 1, Spalte 2 aus (beide sind 1-basiert).
local grid = {
{1, 2, 3},
{4, 5, 6}
}
print(grid[1][2])
print(grid[2][3])Erstes und letztes Element nach Position
Das erste Element ist immer list[1]. Bei einer Sequenz bekannter Größe befindet sich das letzte Element an ihrem Zähler.
Bei drei Elementen befindet sich das letzte also am Index 3.
local week = {"Mon", "Tue", "Wed"}
print("first:", week[1])
print("last:", week[3])Werte an Ort und Stelle ändern
Tabellen sind veränderbar. Sie können jedes vorhandene Element aktualisieren, ohne die gesamte Liste neu aufzubauen.
Im Folgenden erhöhen wir jede Punktzahl, indem wir jeden Index in einer Schleife neu zuweisen.
local scores = {1, 2, 3}
for i = 1, 3 do
scores[i] = scores[i] + 10
end
print(scores[1], scores[2], scores[3])Tabellen als Datensätze und Arrays
Mit demselben Tabellentyp können Sie auch benannte Schlüssel speichern, etwa person.name. Wenn die Schlüssel die ganzen Zahlen 1, 2, 3 usw. sind, nennen wir die Tabelle eine Sequenz oder ein Array.
Diese Lektion konzentriert sich auf den Sequenzstil mit 1-basierten numerischen Schlüsseln.
local list = {"a", "b"}
list[3] = "c"
print(list[1], list[2], list[3])Kurzer Test
Testen Sie Ihr Verständnis der Lua-Indizierung.
Zusammenfassung
Sie haben gelernt, dass Lua Tabellen als Arrays verwendet und die Indizierung 1-basiert ist: Das erste Element befindet sich bei [1].
Sie können Tabellenelemente lesen, schreiben und verschachteln, und eine lückenlose Sequenz hat keine Lücken. Als Nächstes fügen Sie Elemente dynamisch hinzu und entfernen sie.
Häufig gestellte Fragen
Ist die Lektion „Arrays als Tabellen“ kostenlos?
Ja — der vollständige Text von „Arrays als Tabellen“ 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 „Arrays als Tabellen“?
1-basierte Indizierung in Lua. 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 1 von 4.
Wie lange dauert die Lektion „Arrays als Tabellen“?
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
- Arrays als Tabellen
- Elemente hinzufügen und entfernen
- Mit ipairs iterieren
- Länge und Sortierung