for ... in ... do ... end | for ... from ... to ... do ... end | while ... do ... end
Mit einer Schleife können Sie einen Code-Block automatisch mehrmals hintereinander ausführen. Sie können zum Beispiel die Anweisungen eines Code-Blocks auf jedes Element eines Arrays anwenden.
Das ist die wichtigste Schleife, die Sie sich auf jeden Fall merken sollten. Sie wird Ihnen seeeeehr oft das Leben ein bisschen leichter machen.
Wählen Sie nach dem for
einen passenden Variablen-Namen für das jeweilige Element in der Liste aus, an der etwas geändert werden soll.
for
-Schleife ist wie folgt aufgebaut:Zeile 1: Das ist noch nicht Teil der Schleife, aber hilfreich, da besser lesbar: Wir speichern unsere Datensätze in einer Variablen.
Zeile 2: Die Schleife fängt an mit for
[es folgt eine Bezeichnung für ein einzelnes Element aus der zu durchlaufenden Liste] in
[es folgt die Liste] do
.
Zeile 3: Anweisung, was zu tun ist.
Zeile 4: end
Die Schleife wird beendet (Terminierung).
Sie möchten allen Kunden, die den Status 2
haben, einen neuen, den Status 1
geben. Dafür wählen Sie in der Tabelle Kunden (neu) die Kunden mit Status 2
aus. Dann weisen Sie jedem dieser Kunden (kunde
) den Status 1
zu.
Ergebnis: Allen Kunden, die den Status 2
haben, wird der Status 1
zugewiesen.
Diese Schleife eignet sich vor allem bei der Arbeit mit numerischen Werten, da anstelle eines Arrays eine Zahlenfolge verwendet wird, die von der Schleife durchlaufen wird.
Bei jedem Durchgang wird zu der Schleifenvariablen 1
addiert (Inkrement = 1
). Es fängt dabei mit dem Wert nach from
(inklusive) und hört vor dem Wert nach to
(exklusive).
Ergebnis: 60
Die Werte des Arrays mit den Indizes 0
, 1
und 2
werden addiert. 10
+ 20
+ 30
= 60
.
Durch step
kann man die Höhe des Inkrements ändern.
Ergebnis: 50
Die Werte des Arrays mit den Indizes 0
, 2
und 4
werden addiert. 10
+ 30
+ 10
= 50
.
for i in range(0, 10)
ist das Äquivalent zu for i from 0 to 10.
Diese Schleife wird so lange ausgeführt, bis die Bedingung nach while
nicht mehr erfüllt ist.
Dafür deklarieren Sie zum Beispiel eine Zählervariable, die bei jedem Schleifendurchgang inkrementiert wird, bis die Bedingung nicht mehr stimmt. Die Bedingung stimmt so lange (true
) die Variable kleiner als ein festgelegter Wert ist.
Ergebnis: 0 1 2 3 4 5 6 7 8 9
In den meisten Fällen ist for ... in ... do ... end
die beste Wahl.
Falls die Bedingung sich in keinem Durchgang auf false
setzt, besteht die Gefahr in einer Endlos-Schleife zu enden. Es könnte sein, dass Ninox dann explodiert.