2012-11-16 6 views
12

Gibt es eine Möglichkeit, wie etwas zu tun ist:Wie wird mit negativem Schritt über den Bereich iteriert?

0 to -10 map { i=> 
... 
} 

repl gibt mir:

scala.collection.immutable.IndexedSeq[Unit] = Vector() 
+0

möglich Duplikat von [Rückgang für Schleife in Scala?] (Http://stackoverflow.com/questions/9976955/decreasing-for-loop-in-scala) –

Antwort

43
0 to (-10, -1) 

oder

0 to -10 by -1 
+0

+1, cool, ich habe keine Ahnung, wer zuerst geantwortet hat , wäre nett, wenn SO Sekunden aufgezeichnet – virtualeyes

+5

Dieser gewinnt um 1 Sekunde (Hover den Timeago-Text für die detailliertere, weniger menschenfreundliche Datum/Uhrzeit) – Dylan

+0

@Dylan netter Tipp, wusste das nicht. Das ist hart, aber Arjan macht mit einer Antwort auf sich, die zwar umfassender ist, aber im Großen und Ganzen dieselbe ist wie die von dbyrne, mit einem Unterschied von einer Sekunde! – virtualeyes

15

Fügen Sie die by Klausel:

0 to -10 by -1 
res0: Range(0, -1, -2, -3, -4, -5, -6, -7, -8, -9, -10) 
+0

+1, die "by clause", kein Ende von scala ;-) – virtualeyes

Verwandte Themen