Scala更新数组元素

时间:2012-02-21 20:40:45

标签: arrays scala

我从未想过我会问这么简单的问题,但如何在scala中更新数组元素

我已经在我的Main对象中声明了内部函数,我有类似的东西

object Main
{
    def main(args: Array[String])
    {
        def miniFunc(num: Int)
        {
            val myArray = Array[Double](num)
            for(i <- /* something*/)
                myArray(i) = //something
        }
    }
}

但我总是遇到异常,有人可以解释我为什么以及如何解决这个问题呢?

1 个答案:

答案 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
    }