要旨
「3の倍数と3のつく数字」だけを String
に変換した Array<String>
を得る方法:
(1..100).filter_map { |i| i.to_s if i % 3 == 0 || i.to_s.include?('3') }.to_a # => ["3", "6", "9", "12", "13", "15", "18", # "21", "23", "24", "27", "30", "31", "32", # "33", "34", "35", "36", "37", "38", "39", # "42", "43", "45", "48", "51", "53", "54", # "57", "60", "63", "66", "69", "72", "73", # "75", "78", "81", "83", "84", "87", "90", # "93", "96", "99"]
詳細
正確には Array#filter_map
ではなく Enumerable#filter_map
なので、Enumerable
なオブジェクトならArray
でなくても何でも良い。