我从未想过我会问这么简单的问题,但如何在scala中更新数组元素
我已经在我的Main对象中声明了内部函数,我有类似的东西
object Main
{
def main(args: Array[String])
{
def miniFunc(num: Int)
{
val myArray = Array[Double](num)
for(i <- /* something*/)
myArray(i) = //something
}
}
}
但我总是遇到异常,有人可以解释我为什么以及如何解决这个问题呢?
答案 0 :(得分:14)
你能填写遗漏的细节吗?例如,评论的内容是什么?有什么例外? (最好用完整的代码示例提出问题并明确问题是什么。)
以下是数组构造和更新的示例:
scala> val num: Int = 2
num: Int = 2
scala> val myArray = Array[Double](num)
myArray: Array[Double] = Array(2.0)
scala> myArray(0) = 4
scala> myArray
res6: Array[Double] = Array(4.0)
也许您假设num
表示数组的大小?实际上,它只是数组中的(唯一)元素。也许你想要这样的东西:
def miniFunc(num: Int) {
val myArray = Array.fill(num)(0.0)
for(i <- 0 until num)
myArray(i) = i * 2
}