Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/scala/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Scala 可变集的重分配并_Scala - Fatal编程技术网

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
的值。如果您想使用
第一个
第二个
的联合,您可以使用
第三个