3

カスタム線形コレクションを作成したいと思います。いくつかの特定のケースでの拡張リストのようなもの (すべてのパラメーター タイプではありません)。

Scala には複雑なコレクション クラス階層があり、迷っています。どのトレイトを拡張し、どのメソッドを実装する必要がありますか?

カスタム traversable実装の包括的なチュートリアルを見つけました: http://daily-scala.blogspot.ru/2010/04/creating-custom-traversable.html

そして、カスタム線形シーケンスの実装に関する同様のヒントを探しています。

4

1 に答える 1

3

トラベラブルの実装とそれほど違いはありません。には 2 つの抽象メソッドしかなくLinearSeq、 には 3 つしかLinearSeqLikeありません。これらも拡張する必要があります。

ただし、後者のドキュメントで明確になっているように、次のメソッドをオーバーライドして効率的な実装にすることが重要です。

 def isEmpty: Boolean
 def head: A
 def tail: Repr
于 2013-02-04T01:52:09.413 に答える