我有一个很大List[A]
的功能f: List[A] => List[B]
。我想将我的原始列表拆分为具有最大大小的子列表,依次将该函数应用于每个子列表,然后将结果拆分为一个大的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
方法?