Ruby で数値の配列を合計する
Stewart Nguyen
2023年1月30日
-
Ruby で
Array#sum
を使用して数値の配列を合計する -
Ruby で
Array#inject
を使用して数値の配列を合計する -
Ruby で
Array#each
を使用して数値の配列を合計する
このチュートリアルでは、配列内の数値を計算するさまざまな方法について説明します。
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