【发布时间】:2014-12-17 13:45:19
【问题描述】:
使用 foldRight 定义如下 concat 函数可以正确 concat list
def concat[T](xs: List[T], ys: List[T]): List[T] = (xs foldRight(ys))(_ :: _)
但是用 foldLeft 这样做
def concat1[T](xs: List[T], ys: List[T]): List[T] = (xs foldLeft(ys))(_ :: _)
导致编译错误value :: is not a member of type parameter T,需要帮助来理解这种差异。
编辑:
以防万一有人在寻找关于折叠的详细解释 http://lampwww.epfl.ch/teaching/programmation_avancee/documents/programmation_avancee_5_en-2x2.pdf
【问题讨论】: