[ruby]eachからmapの書き換え[小ネタ]

ruby

今回は小ネタです。
rubyに限らず、mapを実装しているプログラミング言語に使える書き換え方法です。

書き換え前

item_ids = []

items.each do |item|
  item_ids.push item.id
end

このままだと、いちいち変数をeachの外で定義してからpushしないといけないので少し面倒ですよね。
この程度ならmapを用いて書き換えることが可能です。

書き換え後

item_ids = items.map(&:id)

こんな感じで単一のメソッド(上記のid)であれば、1行で済みますので積極的に書き換えましょう。
可読性も上がるので、レビューも容易になります。

コメント