Как создать и использовать многомерный массив в Scala?

Как создать массив из нескольких измерений?

Например, я хочу целочисленную или двойную матрицу, что-то вроде double[][] в Java.

Я знаю, что массивы изменены в Scala 2.8 и что старые массивы устарели, но есть ли несколько способов сделать это сейчас, и если да, то что лучше?

Ответы

Ответ 1

Так же:

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

Ответ 2

Он устарел. Companion object export factory методы ofDim:

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