Int から String を作成する Builder があります。
class MyBuilder extends LazyBuilder[Int, String]
{
def result: String = "value: " + Int.toString
}
そして、この CanBuildFrom 実装:
class IntToStringCanBuildFrom extends CanBuildFrom[Set[Int], Int, String]
{
def apply(from: Set[Int]) = this.apply()
def apply() : MyBuilder = new MyBuilder
}
そして、次の例でそれを使用したいと思います。
val list = List(1, 2, 3)
val result = list.map(2*)(new IntToStringCanBuildFrom)
しかし、コンパイルエラーが発生します:
- type mismatch; found : Test.IntToStringCanBuildFrom required:
scala.collection.generic.CanBuildFrom[List[Int],Int,?]
ここで私は正確に何を間違っていますか?これを機能させる方法は?明らかに、私の CanBuildFrom 実装に String 型のパラメーターがあるという事実は好きではありませんが、これがこれを行う方法であるはずだと思いました。