web-dev-qa-db-ja.com

Scalaで多次元配列を作成して使用する方法は?

複数の次元の配列を作成するにはどうすればよいですか?

たとえば、Javaのdouble[][]のような整数または二重行列が必要です。

配列がScala 2.8で変更され、古い配列が廃止されていることは事実ですが、今それを行う方法は複数あります。そうである場合、どれが最善ですか?

39
Felix

そのようです:

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

非推奨です。コンパニオンオブジェクトはファクトリメソッドをエクスポートしますofDim

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