Jak utworzyć tablicę wielu wymiarów?
Na przykład chcę mieć całkowitą lub podwójną macierz, coś w tym stylu double[][]
w Javie.
Wiem na pewno, że tablice zmieniły się w Scali 2.8 i że stare tablice są przestarzałe, ale czy jest wiele sposobów, aby to zrobić teraz i jeśli tak, to co jest najlepsze?
Odpowiedzi:
59 dla odpowiedzi № 1Tak jak w przypadku:
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 dla odpowiedzi № 2
To jest przestarzałe. Metody eksportowania obiektu Companion ofDim
:
val cube = Array.ofDim[Float](8, 8, 8)