Bezeichnung
NextItem -- durchläuft Felder einer Tabelle (V2.0)
Übersicht
next, item = NextItem(table[, start])
Beschreibung
NextItem() gibt das Element zurück, das nach dem Element start in der angegebenen Tabelle folgt. Wenn start Nil ist, wird das erste Tabellen Element zurückgegeben, Wenn nach start kein Element kommt, wird Nil zurückgegeben.

Dieser Befehl wird hauptsächlich verwendet, um alle Felder der Tabelle in Argument table zu durchlaufen. Dazu übergeben Sie nur die Tabelle in Argument table ohne das zweite Argument start. NextItem() gibt dann den nächsten Index in der Tabelle und den Wert an diesem Tabellenindex in item zurück. Um alle Felder zu durchlaufen, müssen Sie beim nächsten Aufruf von NextItem() als zweites Argument den next-Wert übergeben, bis der next-Wert Nil ist.

Wenn es keine weiteren Elemente mehr in der Tabelle gibt, wird Nil zurückgegeben und Sie können Ihre Schleife beenden. Seien Sie aber beim Überprüfen von Variablen gegen Nil vorsichtig, da 0=Nil in Hollywood tatsächlich wahr ist. GetType() ist der einzige zuverlässige Weg um herauszufinden, ob eine Variable wirklich Nil ist. Ein einfaches Überprüfen mit Nil würde auch zu True führen, wenn die Variable 0 wäre.

Erwarten Sie nicht, das dieser Befehl die Tabellenfelder in der Reihenfolge zurückgibt, wie sie zugewiesen wurden. Hollywood speichert sie oft in einer anderen Reihenfolge ab.

Eingaben
table
Tabelle, welche durchlaufen wird
start
optional: wo der Durchlauf startet (Standard ist Nil, was bedeutet am Anfang beginnen)
Rückgabewerte
next
Index des nächsten Tabellenelements nach start oder Nil, wenn es keine Elemente mehr gibt
item
Tabellenwert des Elements neben start
Beispiel
t = {1, 2, 3, 4, 5, "Hello World", {100, 200, 300}, [-1.5] = -1.5,
     b = 66, Function(s) DebugPrint(s) EndFunction}
a, b = NextItem(t)
While GetType(a) <> #NIL
  DebugPrint(b)
  a, b = NextItem(t, a)
Wend
Der obige Code durchläuft eine heterogene Tabelle. Die Ausgabe wird folgende sein:
 
2
3
4
5
Hello World
Table: 74cbd42c
Function: 74cbd3c8
1
-1.5
66

Sie sehen, dass die Felder in einer anderen Reihenfolge zurückgegeben werden, als sie zugeordnet waren.


Navigation zeigen