2010-03-04 17 views
39

¿Cómo creo una matriz de múltiples dimensiones?¿Cómo crear y usar una matriz multidimensional en Scala?

Por ejemplo, quiero un entero o doble matriz, algo así como double[][] en Java.

Sé con certeza que las matrices cambiaron en Scala 2.8 y que las antiguas matrices están en desuso, pero ¿hay varias formas de hacerlo ahora? En caso afirmativo, ¿cuál es la mejor?

Respuesta

59

así:

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

muy agradable – Felix

+2

es 'Matriz [Matriz [Int]]' 'equivalente a int [] [] 'en Java (y rápido!)? porque escuché rumores maliciosos de lo contrario http://stackoverflow.com/questions/6090684 –

14

Está obsoleto. métodos compañero objeto exportaciones de fábrica: ofDim

val cube = Array.ofDim[Float](8, 8, 8) 
Cuestiones relacionadas