2013-10-22 12 views
5

Sadece NumericRange türünde çıkmayan çiftlerin bir dizisini (veya vektörünü) oluşturmanın hızlı bir yolunu istiyorum. IveScala'da çiftler dizisi

val ys = Array(9. to 1. by -1.)

çalıştı Ama bu tip Array[scala.collection.immutable.NumericRange[Double]]

düzenli tip Array[Double] bu zorlamak için bir yolu var mı döner?

cevap

9
scala> (9d to 1d by -1d).toArray 
res0: Array[Double] = Array(9.0, 8.0, 7.0, 6.0, 5.0, 4.0, 3.0, 2.0, 1.0) 
+3

, tamsayılar için de 'Array.range (9, 1, -1) 'yöntem yoktur. –

+0

İki sorun: Array [Double] yerine bir Array [Int] döndürür ve bitiş sınırı özeldir. Array.range (9, 0, -1) 'yi kullanmalısınız. –

1

bunun biraz daha kısa ve okunabilir düşünüyorum: arada

Array(9d to 1 by -1 : _*) 
res0: Array[Double] = Array(9.0, 8.0, 7.0, 6.0, 5.0, 4.0, 3.0, 2.0, 1.0)