私は非常に大きくList[A]
、関数を持っていますf: List[A] => List[B]
。元のリストを最大サイズのサブリストに分割し、関数を各サブリストに順番に適用してから、結果を 1 つの大きなList[B]
. これはかなり簡単です:
def split[T](l : List[T], max : Int) : List[List[T]] = //TODO
def unsplit[T](l : List[List[T]]) : List[T] = //TODO
def apply[A, B](l : List[A], f : List[A] => List[B], max : Int) : List[B] = {
unsplit(split(l, max).map(f(_)))
}
箱から出してこれを行うための標準的なものをscalazが提供しているかどうか疑問に思っていましたか? 特にapply
方法は?