Magisch / Magische Variable "loop"

Magische Variable "loop"

Die magische Variable "loop" ermöglicht einen direkten Zugriff auf die aktuelle Schleife. Dem entsprechend wird beim Aufruf von loop außerhalb einer Schleife ein Fehler geworfen.

Mit "loop" lässt sich eine Schleife (Loop, Each, Count, For, While, Repeat, ...) steuern.

Runden-Zähler

Mit "loop" lässt sich auslesen, in welcher Wiederholung sich eine Schleife aktuell befindet:

5.times
	loop.lap.print

In diesem Beispiel ist die "lap" identisch mit dem jeweils verarbeiteten Objekt (1,2,3,4,5).

Beim nachfolgenden Beispiel wird deutlich, dass die Schleife genau 7 Wiederholungen hat:

Count( 23, 41, 3 )
	Print loop.lap

Steuerung

Ebenso lässt sich mit "loop" die Schleife steuern. Dafür stehen folgende Funktionen zur Verfügung:

Befehl Alternativen Beschreibung
.next .continue Abbruch der aktuellen Verarbeitung und ggf. start der nächsten Runde
.break .end, = Abbruch der Schleife

Die Steuer-Objekte "Next" und "Break" verweisen im Konstruktor auf "loop".

Rückgabe

Am Ende gibt eine Schleife immer den letzten Wert zurück.

a = 3.times
	Print it
Print a

In diesem Beispiel ist der Rückgabewert 3.

Wird "break" ein Wert übergeben, so wird eben dieser zurück gegeben:

a = 3.times
	it.print
	loop.break( 99 )
a.print

"a" ist in diesem Fall 99.

Wie bei "app" und "func" kann "loop" auch direkt ein Wert zugewiesen werden. Da in diesem Fall ein Endergebnis für die Schleife vorliegt, wird diese direkt beendet.

a = 5.times
	If( it == 3 )
		loop = 99
a.print

Effektiv ist "loop = 99" identisch mit "loop.break( 99 )".

- Powered by OghsWiki -

 

 

Unterstützen

Die Entwicklung von "JayMo" wird derzeit nur durch Eigeninitiative ermöglicht.

Erhalten:  0 €