我正在研究 Scala 中的多维数组,并发现了一些创建多维数组的简单方法。即:
val my3DimensionalArray = Array.ofDim[Int](3,4,5)
//尺寸为 3 x 4 x 5 的数组
甚至
val myFilledArray = Array.fill[Int](3,4,5)(0)
//同维数组用0填充
但是这只适用于 1 - 5 维数组:
val my6DimensionalArray = Array.ofDim[Int](3,3,3,3,3,3)//错误
那么人们通常如何处理创建更高维度的数组呢?这是留给第 3 方库来实现的,还是 Scala 鼓励我们使用其他数据结构来代替高维数组?
最佳答案
// create array of 5-dim-array => 6 dim array
Array.tabulate(3)(_ => Array.ofDim[Int](3,3,3,3,3))
Array.ofDim
实现使用此模式。请参阅https://github.com/scala/scala/blob/v2.11.6/src/library/scala/Array.scala#L216-234
关于arrays - Scala 中的 6 维或更多维数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30623062/