While-Schleife
Die while-Schleife gibt es ebenfalls in vier Variationen:
i = 10while i > 0 print i i -= 1
while running == true do my_function!i = 10while i > 0 print i i -= 1
while running == true do my_function!i = 10until i == 0 print i i -= 1
until running == false do my_function!i = 10until i == 0 print i i -= 1until running == false do my_function!Wie bei for-Schleifen kann die while-Schleife auch als Ausdruck verwendet werden. while- und until-Ausdrücke unterstützen break mit mehreren Rückgabewerten.
value, doubled = while true n = get_next! break n, n * 2 if n > 10value, doubled = while true n = get_next! break n, n * 2 if n > 10Damit eine Funktion den akkumulierten Wert einer while-Schleife zurückgibt, muss die Anweisung explizit mit return zurückgegeben werden.
Repeat-Schleife
Abschnitt betitelt „Repeat-Schleife“Die repeat-Schleife stammt aus Lua:
i = 10repeat print i i -= 1until i == 0i = 10repeat print i i -= 1until i == 0repeat-Ausdrücke unterstützen ebenfalls break mit mehreren Rückgabewerten:
i = 1value, scaled = repeat break i, i * 100 if i > 3 i += 1until falsei = 1value, scaled = repeat break i, i * 100 if i > 3 i += 1until false