Magisch / Magische Variable "it"

Magische Variable "it"

Block

Wird im Quellcode mit Tabulator um eine Ebene eingerückt, so wird von einem Block gesprochen.
Jeder Block besitzt für den aktuellen Durchlauf einen eigenen Wert.

Count( 5 )
	Print it

Die Count-Schleife zählt von 1 bis 5, führt für jeden Schritt den Block aus und übergibt diesem die jeweilige Zahl.

Mit der magischen Variable "it" kann dieser Wert abgefragt werden.
"it" wird dabei wie eine ganz normale Variable verwendet:

Count( 5 )
	xy = it * it + 2
	Print xy

Zu beachten ist allerdings, dass der Wert in "it" nur auf dieser einen Ebene gilt.
Bereits eine Ebene tiefer ist schon wieder ein neuer Block mit einen eigenen "it"-Wert.
Und von dort ist kein Zugriff auf die vorherige "it"-Variable möglich!

Count( 5 )
	If( it >= 3 )
		Print it

Wird der Wert von "it" auch in tieferen Ebenenen benötigt, so ist es sinnvoll diesen einer anderen Variable zuzuweisen:

Count( 5 )
	nn = it
	If( nn >= 3 )
		Print nn

Über die Zuweisung nach rechts lässt sich der Wert bereits bei "Count" zuweisen. Allerdings muss nun ".each" angegeben werden:

Count( 5 ).each => nn
	If( nn >= 3 )
		Print nn

JayMo-Slim bietet hierzu noch eine sehr kompakte Form: "Kurzform von Zählschleifen (Count)"

Wert ändern

Der magischen Variable "it" kann auch ein neuer Wert zugewiesen werden.

Count( 5 )
	Echo it
	Echo " --> "
	it = it * 3
	Print it

Die Ausgabe ist hier:

1 --> 3
2 --> 6
3 --> 9
4 --> 12
5 --> 15

Da der geänderte Wert von "it" weiter an den Stream übergeben wird, ist auch folgendes möglich:

Count( 5 )
	Echo it
	Echo " --> "
	it = it * 3
.print

Die Count-Schleife sendet also eine Zahl zum Block, dort wird diese ausgegeben, danach multipliziert, das Ergebnis zum Stream gesendet und dieses dort ausgegeben (Pseudo-Code):

1  -->  Block  -->  1 * 3  -->  Stream
- Powered by OghsWiki -

 

 

Unterstützen

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

Erhalten:  0 €