有一个var,为什么它的var是因为它可以在预期的程序中更新。
var Encountered = List.empty
当我试图让它遇到需要添加字符串时,它会给我一个value += is not a member of List[Nothing]
else{
Encountered += (Name)
}
答案 0 :(得分:1)
首先,familiesEncountered += (familyName)
不是在Scala中向列表添加元素的方法。
其次,明确说出类型:
var Encountered: List[String] = List.empty
Encountered = "elem1" :: Encountered
另一种方式:
var encountered: List[String] = Nil
encountered = "elem1" :: encountered
因为如果你这样做:
var Encountered = List.empty
Encountered = "elem1" :: Encountered
它不会编译,因为如果你不说这种类型,列表的类型将是Encountered : List[Nothing]
答案 1 :(得分:0)
Scala List是scala.collection.immutable List 的别名,它是不可变的,所以它没有这个方法。
var
是一个可以重新分配的变量,但它不会使它保持的对象变得可变。