2012-11-16 11 views
12

Czy istnieje sposób, aby zrobić coś takiego:Jak powtórzyć zakres z krokiem ujemnym?

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

repl daje mi:

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

możliwy duplikat [Zmniejszanie pętli w Scali?] (Http://stackoverflow.com/questions/9976955/decreasing-for-loop-in-scala) –

Odpowiedz

43
0 to (-10, -1) 

lub

0 to -10 by -1 
+0

+1, fajnie, nie mam pojęcia, kto odpowiedział pierwszy , byłoby miło, gdyby TAK nagrał sekundy – virtualeyes

+5

Ten wygrywa o 1 sekundę (unoszący się tekst timeago dla bardziej szczegółowej, mniej przyjaznej człowiekowi daty/czasu) – Dylan

+0

@Dylan ładna wskazówka, nie wiedziałem tego. To trudne, ale Arjan zyskuje dzięki odpowiedzi, która, choć jest bardziej wszechstronna, jest generalnie taka sama jak w przypadku dbyrne'a, z różnicą jednej sekundy! – virtualeyes

15

Dodaj by klauzuli:

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

+1, "według klauzuli", bez końca scala ;-) – virtualeyes

Powiązane problemy