タグ

injectに関するhachiのブックマーク (2)

  • Ruby: injectとeach_with_objectをうまく使い分ける(翻訳)

    最近私が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をうまく使い分ける(翻訳)
  • Ruby: ループには一時変数ではなくEnumerableを使おう(翻訳)|TechRacho by BPS株式会社

    概要 原著者の許諾を得て翻訳・公開いたします。 英語記事: Enumerable avoids using temporary variables when looping - Andy Croll 原文公開日: 2018/02/05 著者: Andy Croll Rubyで私の大好きな機能のいくつかはEnumerableモジュールにあります。このモジュールについて詳しくはRubyのドキュメントをどうぞ。 ArrayやSetやHashなどのような「コレクション」を表現するクラスでは、Enumerableのメソッドや機能が使えます。これらのメソッドを用いることで、そのグループをループで回して、コレクションの個別のメンバーを入力とする操作を行えます。 次のようには書かないこと C言語のように一時変数を用いてループする。多くの言語ではこれでよしとされている。 total = 0 [1, 3, 5

    Ruby: ループには一時変数ではなくEnumerableを使おう(翻訳)|TechRacho by BPS株式会社
  • 1