返り値用の配列に追加するコード

[code]

    def hoge(array)
      res = []
      array.each do |data|
        value = data.fuga
        res << value
      end
      res
    end
    
[/code]

こういうことをやってしまうのですが、2行目と5行目と7行目がrubyっぽくないように感じます。

mapなどを使える場面はもっとすっきりかけますが、そうでない時、どうやって書けばrubyらしいでしょうか。




`map` が使えないようなシーンだと、`array.inject([]) { |r, d| r + [d.fuga] }`
のように書くことができます。(今回の場合は単純に `array.map(&:fuga)` と書けますが。)

`inject` や `map` では複雑になる場合、泥臭く書く方が良いかもしれません。

