Ruby 2.7 で Enumerable#filter_map が追加される
Ruby 2.7 で Enumerable#filter_map が追加される予定です。
filter_map
という名前の通り filter
+ map
を行います。
pp (1..10).filter_map { |i| i + i if i.even? } # => [4, 8, 12, 16, 20]
ブロックの戻り値が nil
もしくは false
である要素を取り除き、要素を戻り値に変換した値を返します。
#filter
+ #map
と分けて書くよりも高速になるとのこと。
前からほしかったやつやん。
ちなみに #select_collect
はありません。