From: sawadatsuyoshi@... Date: 2020-09-05T00:41:46+00:00 Subject: [ruby-core:99930] [Ruby master Feature#17153] Add Enumerable#compact_map Issue #17153 has been updated by sawa (Tsuyoshi Sawada). Hi Ito-san, This is a duplicate of https://bugs.ruby-lang.org/issues/5663 and https://bugs.ruby-lang.org/issues/15323, and has been realized as `Enumerable#filter_map`. ```ruby [1, 2, 3, 4, 5].filter_map { |n| n * 10 if n.even? } #=> [20, 40] ``` ---------------------------------------- Feature #17153: Add Enumerable#compact_map https://bugs.ruby-lang.org/issues/17153#change-87467 * Author: jnchito (Junichi Ito) * Status: Open * Priority: Normal ---------------------------------------- I often write code like this (`map`, then `compact`): ``` ruby nums = [1, 2, 3, 4, 5] nums.map { |n| n * 10 if n.even? }.compact #=> [20, 40] ``` Or like this: ``` ruby nums.select(&:even?).map { |n| n * 10 } #=> [20, 40] ``` I think it would be very useful and simpler if we could do it by calling one method: ``` ruby nums.compact_map { |n| n * 10 if n.even? } #=> [20, 40] ``` How about introducing `Enumerable#compact_map` ? -- https://bugs.ruby-lang.org/ Unsubscribe: