2014-04-16 54 views
1

要实例变量可以这样做:如何为同一值分配给多个变种斯卡拉

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

但如果我想要做这样的事情?

scala> a = b = c 
<console>:10: error: type mismatch; 
found : Unit 
required: Int 
     a = b = c 
      ^

我该怎么办?

感谢

回答

2

你不能这样做,因为a = b = ca已经被定义为Int var,并与a = b = c声明你给a一个Unit,“B = C”。

当你给Scala中的变量赋值时,你不会得到赋值的结果。

其他语言b = c将被评估为23,c的值。在斯卡拉b = c只是一个Unit,写作a = b = c就像写作a = (b = c),因此错误。

+0

好的...所以我不能这样做。非常感谢@Peter – YoBre

+0

不客气。 – Peter

5

var a,b,c = 0

应该做的伎俩。

+0

我有兴趣知道如何给C的价值A和B – YoBre

+1

尝试'var a,b = c' –

+0

没有家伙....我没有兴趣知道其他方式INSTANTIATE更多var,但我很想知道如何在一个函数中使它们价值化。例如a = b = 12但以这种方式不起作用 – YoBre