在scala中执行桥接分配

Phư*_*yễn 1 scala

我想做这个:

var (a, b) = (0, 0)
a = (b = 100) 
Run Code Online (Sandbox Code Playgroud)

但斯卡拉抱怨说

error: type mismatch;
 found   : Unit
 required: Int
Run Code Online (Sandbox Code Playgroud)

我想要的是将a和b分配给相同的值.为什么Scala使它成为Int应该是Int?

Arj*_*ijl 5

您的陈述是一项任务,返回单位.请参阅此相关问题,了解原因.如果你愿意,你可以这样做:


scala> var (a,b) = (0,0)
a: Int = 0
b: Int = 0

scala> a = {b = 100; b}
a: Int = 100
Run Code Online (Sandbox Code Playgroud)