Ruby で数値の配列を合計する

Stewart Nguyen 2023年1月30日 Ruby Ruby Array
  1. Ruby で Array#sum を使用して数値の配列を合計する
  2. Ruby で Array#inject を使用して数値の配列を合計する
  3. Ruby で Array#each を使用して数値の配列を合計する
Ruby で数値の配列を合計する

このチュートリアルでは、配列内の数値を計算するさまざまな方法について説明します。

Ruby で Array#sum を使用して数値の配列を合計する

Array#sum は、Ruby 2.4.0 以降でのみ使用できます。

[1, 2, 3].sum

出力:

6

Ruby で Array#inject を使用して数値の配列を合計する

2.4.0 より前のバージョンの Ruby で配列の合計を計算するには、inject またはそのエイリアス reduce を使用する必要があります。

inject は、初期値とブロックを受け取る関数です。累積は最初のブロック引数であり、現在の数は 2 番目です。

[1, 2, 3].inject(0) { |sum, num| sum += num }

出力:

6

または、inject の代わりに reduce を使用することもできます。

[1, 2, 3].reduce(0) { |sum, num| sum += num }

出力:

6

各要素が応答するメソッド名としてシンボルを渡すことで、コード全体を短縮できます。この場合は、メソッド+ です。

[1, 2, 3].inject(0, :+)

出力:

6

Ruby で Array#each を使用して数値の配列を合計する

each は一時変数とともに使用できます。これは単純な戦略であり、お勧めできません。

sum = 0
[1, 2, 3].each { |num| sum += num }
puts sum

出力:

6
チュートリアルを楽しんでいますか? <a href="https://www.youtube.com/@delftstack/?sub_confirmation=1" style="color: #a94442; font-weight: bold; text-decoration: underline;">DelftStackをチャンネル登録</a> して、高品質な動画ガイドをさらに制作するためのサポートをお願いします。 Subscribe

関連記事 - Ruby Array