加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

Scala方法以_ =结尾

发布时间:2020-12-16 08:49:15 所属栏目:安全 来源:网络整理
导读:我似乎记得 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处理以_ =特殊结尾的方法,所以像这样:

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中的一个角落案例.没有吸气剂你就不能有一个定位器,反之亦然.

以下工作正常:

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读