Kev*_*ith 6 functional-programming scala
有更好的功能性写作方式flatMap吗?
def flatMap[A,B](list: List[A])(f: A => List[B]): List[B] =
list.map(x => f(x)).flatten
Run Code Online (Sandbox Code Playgroud)
从概念上讲,我理解flatMap的是flatten.
Set*_*sue 11
另一种方法:
def flatMap[A, B](list: List[A])(f: A => List[B]): List[B] =
list.foldLeft(List[B]())(_ ++ f(_))
Run Code Online (Sandbox Code Playgroud)
我不知道"更好".(如果我们开始谈论有效的实施,那就是另一种蠕虫...)
| 归档时间: |
|
| 查看次数: |
3716 次 |
| 最近记录: |