将元组值分配给全局变量

时间:2019-05-09 11:11:02

标签: scala

我知道我不应该使用var,因为它并不是纯净的,在Scala中有可能做这样的事情吗?

  var a: Int = 0
  var b: Int = 4

  (a, b) = (4, 8)

到目前为止,我收到编译错误

Error:(73, 10) ';' expected but '=' found.
  (a, b) = (4, 8)

致谢。

1 个答案:

答案 0 :(得分:4)

简单的回答是“否”。

一个简单的解决方案是将ab存储为元组,并根据需要将其解压缩:

var ab = (0, 4)

ab = (4, 8)

val (a, b) = ab
// Use a and b

问题在于Scala不支持多重分配,这是这​​里所需要的。它只能在声明或match语句的一部分中解构元组。