我似乎记得Scala处理_=特别结束的方法,所以这样的事情:
object X { var x: Int = 0; def y_=(n : Int) { x = n }}
X.y = 1
Run Code Online (Sandbox Code Playgroud)
应该打电话X.y_=(1).但是,在2.8.0 RC1中,我收到一条错误消息:
<console>:6: error: value y is not a member of object X
X.y = 1
^
Run Code Online (Sandbox Code Playgroud)
有趣的是,只是尝试调用没有括号的方法也失败了:
scala> X.y_= 1
<console>:1: error: ';' expected but integer literal found.
X.y_= 1
^
Run Code Online (Sandbox Code Playgroud)
我是否错误地记住了确实存在的东西,或者我只是用整块布来发明它?
mis*_*tor 13
这是Scala中的一个极端案例.没有吸气剂你就不能有一个固定器,反之亦然.
以下工作正常:
scala> object X {
| var x: Int = 0
| def y = x
| def y_=(n: Int) { x = n }
| }
defined module X
scala> X.y = 45
scala> X.y
res0: Int = 45
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
509 次 |
| 最近记录: |