の署名TraversableLike.flatMap
は次のとおりです。
def flatMap[B, Th](f : (A) => Traversable[B])(implicit bf : CanBuildFrom[Repr, B, Th]) : Th
の署名GenericTraversableTemplate.flatten
は次のとおりです。
def flatten[B](implicit asTraversable : (A) => Traversable[B]) : CC[B]
後者の方法(変換flatMap
関数implicit
がTraversableLike
def flatten[B, Th](implicit asTraversable: (A) => Traversable[B],
implicit bf : CanBuildFrom[Repr, B, Th]) : Th
そうでなければならない何らかの理由がありますか?