我想写自定义线性集合。在某些特定情况下(不适用于所有参数类型),扩展List之类的东西。
Scala使收集类层次结构变得复杂,我迷失了。我应该扩展什么特质,我应该采用什么方法?
我找到了自定义可遍历实施的理解教程:http://daily-scala.blogspot.ru/2010/04/creating-custom-traversable.html。
我正在寻找有关实现自定义线性序列的类似提示。
答案 0 :(得分:3)
与实施可移植性并没有什么不同。 LinearSeq
上只有两个抽象方法,LinearSeqLike
上只有三个,你也应该扩展它们。
但是,正如后者的文档所表明的那样,重要的是覆盖以下方法,以便它们具有高效的实现:
def isEmpty: Boolean
def head: A
def tail: Repr