gpt4 book ai didi

scala - Scala 对象定义中没有父类(super class)名称的 "extends {..}"子句有什么作用?

转载 作者:行者123 更新时间:2023-12-03 17:37:36 25 4
gpt4 key购买 nike

我在 Programming in Scala, 2nd Ed 中找到了这个代码示例。 (第 25 章,代码 list 25.11):

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

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

...
}

为什么是 extends没有父类(super class)名称的子句?看起来像是扩展了一个匿名类,但目的是什么?随附的文本没有在任何地方解释甚至提到这个结构。代码实际上可以编译,并且无论是否使用它,都可以完美运行。

OTOH 我在几个网页上发现了完全相同的代码,包括 this (这看起来像本书章节的原始版本)。我怀疑到目前为止,一个错字是否已经在这么多读者的关注之下……所以我错过了什么吗?

我试图用谷歌搜索它,但甚至找不到合适的搜索词。所以 有人可以解释这个构造在 Scala 中是否有名称和/或实际用途吗?

最佳答案

对我来说看起来像是打印错误。尽管如此,它仍然可以正常工作,这可能有助于一直隐藏它。

无论如何,该对象正在扩展结构类型,尽管它也可能是早期初始化,如果您有 with XXX在末尾。嗯嗯。它看起来更像是一个没有任何类或特征的早期初始化,实际上……结构类型不包含代码,我认为。

关于scala - Scala 对象定义中没有父类(super class)名称的 "extends {..}"子句有什么作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45103438/

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