【发布时间】:2010-05-05 20:46:28
【问题描述】:
我是 Scala 新手,遇到了一个让我烦恼的小问题。
并行初始化两个变量效果很好:var (x,y) = (1,2)
但是我找不到并行分配新值的方法:(x,y) = (x+y,y-x) //invalid syntax
我最终会写这样的东西:val xtmp = x+y; y = x-y; x = xtmp
我意识到编写函数式代码是避免这种情况的一种方法,但在某些情况下 var 更有意义。
我有两个问题:
1) 有更好的方法吗?我错过了什么吗?
2) 不允许真正的并行赋值的原因是什么?
【问题讨论】:
-
@Seth Tisue,谢谢,但这是一个可悲的链接——一个 WONTFIX :-(
标签: scala