next, item = NextItem(table[, start])
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.
start
oder Nil, wenn es keine Elemente mehr gibtstart
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) WendDer 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.