Lua Academy · Lektion

Länge und Sortierung

Zählen und sortieren Sie Sequenzen.

Lektion 4 von 413 Schritte

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])
end

Leere 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")
end

Lä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)
end

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

Kostenlos starten

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

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