gpt4 book ai didi

以 _= 结尾的 Scala 方法

转载 作者:行者123 更新时间:2023-12-04 10:06:00 24 4
gpt4 key购买 nike

我似乎记得以 _= 结尾的 Scala 处理方法特别是这样的事情:

object X { var x: Int = 0; def y_=(n : Int) { x = n }}

X.y = 1

应调用 X.y_=(1) .但是,在 2.8.0 RC1 中,我收到一条错误消息:
<console>:6: error: value y is not a member of object X
X.y = 1
^

有趣的是,仅尝试调用不带括号的方法也会失败:
scala> X.y_= 1
<console>:1: error: ';' expected but integer literal found.
X.y_= 1
^

我是记错了一些确实存在的东西,还是我只是凭空捏造出来的?

最佳答案

这是 Scala 中的一种极端情况。没有 getter 就不能有 setter,反之亦然。

以下工作正常:

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

关于以 _= 结尾的 Scala 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2765473/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com