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

Scala对象定义中的“extends {..}”子句没有超类名称,该怎么办?

发布时间:2020-12-16 18:43:25 所属栏目:安全 来源:网络整理
导读:我在 Scala编程中找到了这个代码示例,第二版. (第25章,清单25.11): object PrefixMap extends { def empty[T] = ... def apply[T](kvs: (String,T)*): PrefixMap[T] = ... ...} 为什么那里的extends子句没有超类名?它看起来像扩展一个匿名类,但出于什么目
我在 Scala编程中找到了这个代码示例,第二版. (第25章,清单25.11):

object PrefixMap extends {
  def empty[T] = ...

  def apply[T](kvs: (String,T)*): PrefixMap[T] = ...

  ...
}

为什么那里的extends子句没有超类名?它看起来像扩展一个匿名类,但出于什么目的?随附的文字没有解释甚至在任何地方提到这种结构.代码实际上编译并显然在有或没有它的情况下完美地工作.

OTOH我在几个网页上找到了完全相同的代码,包括this(看起来像本书章节的原始版本).我怀疑到现在这么多读者的雷达已经过了一段错字……所以我错过了什么?

我试图谷歌它,但努力找到适当的搜索条件.那么有人可以解释这个结构在Scala中是否具有名称和/或实际用途?

解决方法

看起来像是一个打印错误给我.但它会起到同样的作用,这可能有助于隐藏它.

无论如何,该对象正在扩展结构类型,尽管它也可能是一个早期初始化,如果你最后有XXX. MMMMM.它看起来更像是一个早期的初始化,没有任何类或特性可以在以后初始化,实际上…结构类型不包含代码,我想.

(编辑:李大同)

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

    推荐文章
      热点阅读