scripting:reference:standard_library:table:remove
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.
scripting:reference:standard_library:table:remove [2025/07/15 14:53] – angelegt fritz_98 | scripting:reference:standard_library:table:remove [2025/07/15 16:00] (aktuell) – fritz_98 | ||
---|---|---|---|
Zeile 52: | Zeile 52: | ||
+ | Wenn du innerhalb einer Schleife numerische Einträge aus einem Table entfernen möchtest, muss diese Schleife das Table **rückwärts** durchlaufen! Das hat folgenden Grund: Wenn mit '' | ||
- | Beispiele: Sieb des Eratosthenes, | + | Wir geben darum ein Beispiel, wie ein Table " |
+ | <code lua> | ||
+ | MaxNumber = 100 | ||
+ | -- Das Table, das zum Schluss nur noch Primzahlen enthalten soll, wird mit allen Zahlen | ||
+ | -- von 2 bis MaxNumber initialisiert | ||
+ | -- siehe auch table.insert | ||
+ | Primes = {} | ||
+ | for i = 2, MaxNumber do | ||
+ | table.insert(Primes, | ||
+ | end | ||
+ | |||
+ | PrimeIndex = 1 | ||
+ | -- So lange, bis wir am Ende der Liste ankommen... | ||
+ | while PrimeIndex < table.getn(Primes) do | ||
+ | -- ... werden alle Zahlen entfernt, die ein Vielfaches der Zahl am PrimeIndex sind | ||
+ | -- Beachte die rückwärtszählende Schleife | ||
+ | for i = table.getn(Primes), | ||
+ | -- Entferne die Zahl, wenn sie größer als die betrachtete Zahl ist und ein ganzzahliges | ||
+ | -- Vielfaches ist | ||
+ | if (Primes[i] > Primes[PrimeIndex]) and (math.mod(Primes[i], | ||
+ | table.remove(Primes, | ||
+ | end | ||
+ | end | ||
+ | PrimeIndex = PrimeIndex + 1 | ||
+ | end | ||
+ | </ | ||
+ | **Hinweis: | ||
+ | |||
+ | |||
+ | Für ein Weiteres Beispiel siehe den Artikel zu [[scripting: | ||
---- | ---- | ||
Zeile 60: | Zeile 90: | ||
* [[scripting: | * [[scripting: | ||
+ | * [[scripting: | ||
+ | * [[scripting: |
scripting/reference/standard_library/table/remove.txt · Zuletzt geändert: 2025/07/15 16:00 von fritz_98