HOWTO · Ruby
Ruby で数値の配列を合計する
この記事では、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