Sprach-Konstrukte / Range

Range

Eine Range repräsentiert einen Bereich von A nach B. Verwendet werden können Zahlen und Zeichen.

r = 4..9

Start und Ende des Bereiches wird mit zwei Punkten verbunden. In diesem Beispiel handelt es sich um einen Bereich von 4 bis 9.

Alternativ kann eine Range mit dem Typ-Namen direkt erzeugen werden:

r = Range( 4, 9 )

Priotität

Die Range wird vor allen weiteren Funktionen erzeugt. Somit wird bei folgendem Beispiel zweimal "4..9" ausgegeben.

( 4..9.print ).print

Arten

Neben Ganzzahlen sind ebenso Zeichen und Dezimal-Zahlen möglich:

( 'a'..'h' ).each.print
Range( 'a', 'h' ).each.print
( 2.5..8.7 ).each.print
Range( 2.5, 8.7 ).each.print

Auch eine absteigende Range ist möglich:

123..88
'z'..'a'

Schleife

Eine Range lässt sich als Schleife verwenden:

4..9
	it.print

Oder:

Range(4, 9).each.print

Verbindung zu Count-Schleifen

Eine Range kann auch an eine Count-Schleife als Argument übergeben werden:

Count( 4..9 ).each.print

Ein Stepping lässt sich hier ebenso festlegen:

Count( 4..9, 2 ).each.print

Weitere Funktionen

Die Funktion "contains" prüft, ob sich ein Element in der Range befindet:

Range( 4, 9 ).contains(5)
'f'..'o'.contains('x')

Eine weitere schöne Funktion ist, aus der Range eine Liste zu generieren:

'x'..'p'.toList.print

Auch lässt sich aus einer Range ein String generieren:

( 'a'..'h' ).calcStr.print
Range( 'x', 'c' ).calcStr.print

- Powered by OghsWiki -

 

 

Unterstützen

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

Erhalten:  0 €