私は次のクラス定義を持っています:
class Foo[T](iteratorThunk: () => Iterator[T]) {
def values = iteratorThunk()
}
そして、タイプのオブジェクトを返しながら、公開するFoo
すべてのメソッドが必要です。たとえば、私は次のことができるようにしたいと思います。Iterator
Foo
val a = new Foo({ () => List(1, 2, 3).toIterator })
val b = new Foo({ () => List(4, 5, 6).toIterator })
val c = a ++ b
そして、次のようc
になります。
new Foo({ () => a.values ++ b.values })
フォワーダー(、、 ...)を調べましたがIterableForwarder
、TraversableForwarder
メソッドをに転送するのに適したものはないようでした。静的および動的な結果タイプとしてIterator
保持したいと思います。Foo
すべての転送方法を定義せずに、この動作を実現するための最良の方法は何ですか?