Rubyには、配列の各要素の合計値を簡単に求めることができる便利なメソッドが用意されています。
「配列の合計値を取得したい」
「配列の平均値を取得したい」
といった悩みを抱えている方に向けて、この記事では以下の内容について解説していきます。
・sumメソッドとは
・sumで配列の合計値を求める
・配列の平均値を求める
・ブロックを使った処理
・sumで範囲オブジェクトの合計値を求める
配列の合計値を簡単に取得できるsumメソッドについてわかりやすく解説していますので、ぜひ参考にしてください!
それではいってみましょう!
sumメソッドとは
sumメソッドは配列や範囲オブジェクトの合計値を求めるときに使用します。
sumメソッドの書き方
配列.sum
空の配列を指定した場合は0を返します。
配列に文字列が含まれていた場合はエラー「TypeError」が発生します。
sumで配列の合計値を求める
ここではsumメソッドで配列の合計値を求める基本的な方法から、ブロックを使った処理などについて解説していきます。
基本的な使い方
それでは配列の合計値を求めてみましょう。
以下のサンプルをご覧ください
array = [1, 2, 3, 4, 5, 6, 7, 8, 9] p array.sum
実行結果:
45
このように簡単に合計が取得できることがわかりますね!
ブロックを使った処理
sumメソッド実行時にブロックを指定した場合、ブロックの処理結果が加算されます。
以下のサンプルではブロックの処理で各要素に10を掛けた結果の合計値を求めています。
array = [1,2,3,4,5,6,7,8,9,10] p array.sum { |num| num * 10 }
実行結果:
550
配列の平均値を求める
平均値を求める場合は「配列の合計値 / 配列の要素数」で計算します。
array = [1, 2, 3, 4, 5, 6, 7, 8, 9] # 平均値を求める p array.sum / array.length
実行結果:
5
サンプルではsumメソッドで配列の合計値を取得し、合計値に対して配列の要素数を指定して平均値を求めています。
配列の要素数は「配列.length」を指定すればOKです。
sumで範囲オブジェクトの合計値を求める
範囲オブジェクトでも配列同様にsumで合計値を求めることができます。
以下のサンプルをご覧ください。
range = 1..10 p range.sum
実行結果:
55
このように合計値を求めることができました!
配列についてもっとよく知りたい方へ
配列の基礎からさまざまな使い方については、以下の記事でも詳しく解説していますのでぜひ参考にしてください!
まとめ
ここでは、配列の合計値を取得できるsumメソッドについて解説しました。
・sumメソッドとは
・sumで配列の合計値を求める
・配列の平均値を求める
・ブロックを使った処理
・sumで範囲オブジェクトの合計値を求める
sumメソッドを使えば、簡単に合計値の取得や平均値の計算ができますので使い方についてはしっかりと理解しておきましょう。
もし、sumメソッドの使い方を忘れてしまったら、この記事を思い出してくださいね!