Scala 可变集的重分配并
我有两个相同类型的可变集:Scala 可变集的重分配并,scala,Scala,我有两个相同类型的可变集: val first = mutable.Set(1,2,4) val second = mutable.Set(2,6,5) 我想组成第一和第二的联盟,并将结果重新分配给第一: val first = first union second 这不起作用,我收到以下错误消息: error: recursive value first needs type 如何将两个集合的并集重新分配给第一个集合?将first声明为var。然后,当您第一次更新时,无需再次声明: va
val first = mutable.Set(1,2,4)
val second = mutable.Set(2,6,5)
我想组成第一和第二的联盟,并将结果重新分配给第一:
val first = first union second
这不起作用,我收到以下错误消息:
error: recursive value first needs type
如何将两个集合的并集重新分配给第一个集合?将
first
声明为var
。然后,当您第一次更新时,无需再次声明:
var first = Set(1,2,4)
val second = Set(5, 2, 6)
first = first union second
用val
声明的值是不可变的。要声明变量,请使用var
。然后,稍后当您更新变量时,您将不会再次声明它(您不需要val
或var
),您只需引用它即可val
和var
首先用于创建值和变量
然而,我鼓励您习惯于使用Scala处理不可变的值,而更喜欢类似这样的东西
val first = Set(1,2,4)
val second = Set(5, 2, 6)
val third = first union second
这样,您就可以始终确定first
的值。如果您想使用第一个
和第二个
的联合,您可以使用第三个
将第一个
声明为变量
。然后,当您第一次更新时,无需再次声明:
var first = Set(1,2,4)
val second = Set(5, 2, 6)
first = first union second
用val
声明的值是不可变的。要声明变量,请使用var
。然后,稍后当您更新变量时,您将不会再次声明它(您不需要val
或var
),您只需引用它即可val
和var
首先用于创建值和变量
然而,我鼓励您习惯于使用Scala处理不可变的值,而更喜欢类似这样的东西
val first = Set(1,2,4)
val second = Set(5, 2, 6)
val third = first union second
这样,您就可以始终确定first
的值。如果您想使用第一个
和第二个
的联合,您可以使用第三个