最近私がDevMemo.ioに追加した練習問題の中に、Enumerable#inject(エイリアスのreduceも使えます)やEnumberable#each_with_objectの練習問題がいくつかあり、以来どちらをどんなときに用いるべきかという簡単なガイドを書いてみたいと思っていました。 Enumerable#each_with_object (Ruby 3.0.0 リファレンスマニュアル) オブジェクトやコンテナへのミュータブルな操作にはeach_with_objectの方がよい 特にHashやArrayが対象の場合 作業の開始地点となる新しいオブジェクトを提供してそこでビルドする場合にも向いている 既存のオブジェクトを変更したい場合にはさほど便利ではない 例1 いくつかコード例を見てみることにしましょう。オブジェクトのコレクションがひとつあり、それらを用いて新しいHashをひと
![Ruby: injectとeach_with_objectをうまく使い分ける(翻訳)](https://cdn-ak-scissors.b.st-hatena.com/image/square/cb367d1bb66fe3b62bd24cb1cc93dc5c3182b950/height=288;version=1;width=512/https%3A%2F%2Ftechracho.bpsinc.jp%2Fwp-content%2Fuploads%2F2018%2F07%2Fruby_inject_each_with_object_eyecatch-min.png)