我为什么要写
val flat: List[Int] = List(Some(1), Some(2)).flatMap(i => i)
Run Code Online (Sandbox Code Playgroud)
但不是
val flat: List[Int] = List(Some(1), Some(2)).flatMap(_)
Run Code Online (Sandbox Code Playgroud)
下划线是变量的占位符.它本身并不是一种功能.flatMap需要一个功能.
此外,在这种情况下,有一个flatten被定义的方法List为它Option具有内Predef,使得你写什么都可以浓缩成仅仅是调用的隐式转换,List(Some(1)).flatten
| 归档时间: |
|
| 查看次数: |
627 次 |
| 最近记录: |