2010-03-04 30 views
39

Nasıl birden boyutlarda bir dizi oluşturulur?Scala'da çok boyutlu bir dizi nasıl oluşturulur ve kullanılır?

Örneğin, ben bir tamsayı veya çift matrisi, Java double[][] gibi bir şey istiyorum. en iyisi

Ben diziler Scala 2.8'de ve eski diziler kaldırılmış olduğu değişti gerçeğini biliyorum, ama şimdi evet ise bunu yapmak için birden fazla yolu vardır? böylece gibi

cevap

59

: Kullanımdan kaldırıldı

scala> Array.ofDim[Double](2, 2, 2) 
res2: Array[Array[Array[Double]]] = Array(Array(Array(0.0, 0.0), Array(0.0, 0.0)), Array(Array(0.0, 0.0), Array(0.0, 0.0))) 

scala> {val (x, y) = (2, 3); Array.tabulate(x, y)((x, y) => x + y)} 
res3: Array[Array[Int]] = Array(Array(0, 1, 2), Array(1, 2, 3)) 
+0

Çok güzel – Felix

+2

mi 'Dizisi [Dizi [Uluslararası]]' 'Java int [] []' eşdeğer (ve hızlı!)? çünkü aksi halde http://stackoverflow.com/questions/6090684 –

14

. Tamamlayıcı nesne ihracat fabrika yöntemleri ofDim:

val cube = Array.ofDim[Float](8, 8, 8) 
İlgili konular