私は次のクラス定義を持っています:
class Foo[T](iteratorThunk: () => Iterator[T]) {
def values = iteratorThunk()
}
そして、タイプのオブジェクトを返しながら、公開するFooすべてのメソッドが必要です。たとえば、私は次のことができるようにしたいと思います。IteratorFoo
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
すべての転送方法を定義せずに、この動作を実現するための最良の方法は何ですか?