以下是flatMap
的签名:
def flatMap[B, That](f: A => GenTraversableOnce[B])(implicit bf: CanBuildFrom[Repr, B, That]): That
例如,it:Iterable[Option[T]]
可以转换为Iterable[T]
来电:
it.flatMap(x => x)
所以That
是Iterable[T]
,但是B
是什么,x => x : (Option[T] => Option[T])
与f
的对应关系???
答案 0 :(得分:1)
A
为Option[T]
,B
为T
隐式转换从Option
转换为Iterable
,这是GenTraversableOnce
的子类型。