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.它看起来更像是一个早期的初始化,没有任何类或特性可以在以后初始化,实际上…结构类型不包含代码,我想. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容