将值赋给数组元素时出现Scala错误

时间:2015-12-20 15:39:25

标签: scala

我有以下数组:

var visited = new Array[Boolean](n + 1) 

我没有使用Scala的经验,但我相信这个数组是可变的,因为我用new实例化它。

但是,当我尝试为其中一个元素赋值(其中comp.node是一个整数)时:

visited[comp.node] = true;

我收到以下错误:

error: ';' expected but '=' found.

1 个答案:

答案 0 :(得分:5)

在Scala中,您无法使用[]语法访问或分配数组元素。相反,必须使用()

visited(comp.node) = true     // assignment - calls visited.update(comp.node, true)
val test = visited(comp.node) // access     - calls visited.apply(comp.node)

[]仅用于类型参数:

val list: List[String] = List[String]()