/ / Como criar e usar um array multidimensional no Scala? - matrizes, scala

Como criar e usar um array multidimensional no Scala? - matrizes, scala

Como faço para criar um array de múltiplas dimensões?

Por exemplo, eu quero um inteiro ou uma matriz dupla, algo como double[][] em Java.

Eu sei que os arrays mudaram no Scala 2.8 e que os arrays antigos são obsoletos, mas existem várias maneiras de fazê-lo agora e, se sim, qual é o melhor?

Respostas:

59 para resposta № 1

Igual a:

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))

14 para resposta № 2

É obsoleto. O objeto complementar exporta métodos de fábrica ofDim:

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