Länge und Sortierung
Zählen und sortieren Sie Sequenzen.
Länge und Sortierung ist eine kostenlose Lua Academy-Lektion auf CoddyKit. Dies ist Lektion 4 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.
Der Längenoperator
Der Operator # gibt die Anzahl der Elemente in einer Sequenz zurück.
Bei einer lückenlosen 1-basierten Tabelle mit drei Elementen ist #t gleich 3. Das letzte Element befindet sich am Index #t.
local list = {"a", "b", "c"}
print(#list)
print(list[#list])Länge in einer Schleife
Verwenden Sie #t als obere Grenze einer numerischen for-Schleife, um jeden Index zu durchlaufen.
Da Sequenzen 1-basiert sind, lautet der Bereich 1, #t.
local nums = {10, 20, 30, 40}
for i = 1, #nums do
print(i, nums[i])
endLeere Tabellen
Eine leere Sequenz hat die Länge 0.
Deshalb können Sie mit #t == 0 schnell prüfen, ob eine Liste Elemente enthält.
local empty = {}
print(#empty)
if #empty == 0 then
print("list is empty")
endLänge nach Änderungen
Wenn Sie mit den Funktionen der table-Bibliothek Elemente hinzufügen oder entfernen, wird # entsprechend aktualisiert.
Durch das Einfügen erhöht sich die Anzahl, durch das Entfernen verringert sie sich.
local list = {"a", "b"}
table.insert(list, "c")
print(#list)
table.remove(list)
print(#list)Lücken machen die Längenangabe unzuverlässig
# ist nur für Sequenzen ohne Lücken zuverlässig. Eine Lücke kann dazu führen, dass das Ergebnis nicht definiert ist.
Verwenden Sie table.insert und table.remove, damit Sie sich weiterhin auf # verlassen können.
local good = {1, 2, 3}
print(#good)
table.insert(good, 4)
print(#good)In-Place-Sortierung
table.sort(t) ordnet die Sequenz direkt neu – standardmäßig vom kleinsten zum größten Wert.
Die ursprüngliche Tabelle wird geändert, anstatt eine neue zurückzugeben.
local nums = {3, 1, 2}
table.sort(nums)
print(nums[1], nums[2], nums[3])Strings sortieren
Strings werden standardmäßig alphabetisch sortiert, wobei die Zeichen einzeln verglichen werden.
Nach dem Sortieren enthält Index 1 das in der Reihenfolge erste Element.
local names = {"Cy", "Ann", "Bob"}
table.sort(names)
print(names[1], names[2], names[3])Absteigende Reihenfolge
Übergeben Sie eine Vergleichsfunktion, um die Reihenfolge festzulegen. Wenn die Funktion a > b zurückgibt, wird vom größten zum kleinsten Wert sortiert.
Die Funktion entscheidet, ob a vor b stehen soll.
local nums = {3, 1, 4, 2}
table.sort(nums, function(a, b)
return a > b
end)
print(nums[1], nums[2], nums[3], nums[4])Benutzerdefinierte Vergleiche
Mit Vergleichsfunktionen können Sie nach jeder beliebigen Regel sortieren, zum Beispiel nach der Länge eines Strings statt alphabetisch.
Im Folgenden stehen kürzere Wörter zuerst.
local words = {"hello", "hi", "howdy"}
table.sort(words, function(a, b)
return #a < #b
end)
print(words[1], words[2], words[3])Länge und Sortierung
Kombinieren Sie die Werkzeuge: Sortieren Sie eine Liste und lesen Sie anschließend die Randwerte anhand ihrer Position aus.
Nach dem aufsteigenden Sortieren befindet sich das Minimum am Index 1 und das Maximum am Index #t.
local data = {7, 2, 9, 4}
table.sort(data)
print("min:", data[1])
print("max:", data[#data])Sortieren und anschließend iterieren
Eine typische Verarbeitungskette sieht so aus: Sortieren Sie die Sequenz und durchlaufen Sie sie anschließend mit ipairs, um die Elemente in der richtigen Reihenfolge auszugeben.
Beim Sortieren wird dieselbe 1-basierte Tabelle neu geordnet, sodass die Iteration der neuen Reihenfolge folgt.
local scores = {50, 10, 30}
table.sort(scores)
for i, s in ipairs(scores) do
print(i, s)
endKurzer Test
Rufen Sie sich ins Gedächtnis, was der Längenoperator zurückgibt.
Zusammenfassung
Sie haben gelernt, dass #t die Elemente einer lückenlosen Sequenz zählt, dass sich das letzte Element an t[#t] befindet und dass table.sort die Tabelle direkt neu ordnet (standardmäßig aufsteigend oder mit einer benutzerdefinierten Vergleichsfunktion).
Zusammen mit insert, remove und ipairs können Sie Lua-Sequenzen nun sicher verwalten.
Lerne Lua mit einem KI-Tutor — kostenlos
Schreibe und führe echten Code in deinem Browser aus, bekomme sofortige Hilfe von einem 24/7 KI-Tutor und setze dein Lernen im Web oder in der App fort.
- Kurse
- 40
- Lektionen
- 159
Häufig gestellte Fragen
Ist die Lektion „Länge und Sortierung“ kostenlos?
Ja — der vollständige Text von „Länge und Sortierung“ 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 „Länge und Sortierung“?
Zählen und sortieren Sie Sequenzen. 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 4 von 4.
Wie lange dauert die Lektion „Länge und Sortierung“?
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