Avatar
https://github.com/apple/swift-evolution/blob/master/proposals/0187-introduce-filtermap.md 初質問失礼します 🙇 2017/12/20 にも話題に上がっていた [SE-0187] を読んでいたのですが、
  • `Sequence.flatMap<U>(_: (Element) -> U?) -> [U]
を compactMap という名前にするよ(flatMapも引き続きコンパイルは通るよ) * ついでに Sequence から nil を取り除いて返すSequence.compact() を追加するよ という提案はたぶんわかったのですが、コンパイルエラーが紛らわしい?というモチベーションが(flatMapの挙動が紛らわしいと思ったことがないのもあり)しっくり来ませんでした 
というのも、「StringがCollectionに適合したことによって、Swift 4ではもはやコンパイルできない」と言われている以下のコードが、コンパイル通るんですよね… swift func getNames(people: [Person]) -> [String] { return people.flatMap { $0.name } } ` このProposalってこのコンパイルエラーがどうのこうのっていうのがモチベーションなんでしょうか?それともふつうに(なんかそう書いてあるように見えないんですが)flattenとfilter_map が同じ名前で両方できるのが紛らわしいとか、そういうことなんでしょうか
swift-evolution - This maintains proposals for changes and user-visible enhancements to the Swift Programming Language.