arrays - Scala 中的 6 维或更多维数组

标签 arrays scala multidimensional-array n-dimensional

我正在研究 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/

相关文章:

php - 基于其他数组排序数组

ios - Swift - prepareForSegue 不工作

Scala 展平 String 和 List[String] 的列表

c++ - 访问 2D valarrays 的列切片

c++ - 二维数组的段错误

javascript - 在 Javascript 中镜像 N x N 邻接矩阵的一半

arrays - 如何绘制数组的实部和虚部?

c - 为什么在请求用户再次输入后字符数组为空?

scala - 在 Spark Scala 中动态创建数据帧

带管道的 Scala 进程