【Ruby】配列の要素を合計するsumメソッドについて解説します

こんにちは。たいら(@tairaengineer2)です。
転職を繰り返し現在4社経験している、11年目エンジニアです。

この記事では、 Rubyで配列の要素を合計するsumメソッドについて

  • sumメソッドとは
  • sumメソッドを使ったサンプルプログラム

と、この記事で丁寧に解説していきます。

前提条件:実行環境について

実行環境は以下の通りです。

OS Windows10
Rubyのバージョン 2.6.6

この記事ではRubyプログラムは

C:\rubystudy

に作成しています。

sumメソッドとは

sumメソッドとは、配列の要素を合計した数を返すメソッドです。
もし配列が空であった場合、0を返します。
sumメソッドは使い方が

  • パターン1:引数を指定しない場合
  • パターン2:引数を指定する場合
  • パターン3:ブロックを指定して、引数を指定しない場合
  • パターン4:ブロックを指定して、引数を指定する場合

の合計4パターンあります。
それぞれ解説します。

パターン1:引数を指定しない場合

引数を指定しない場合は、配列の要素が単純に合計された値が返されます。
使い方サンプルは以下です。

上記の例だと、resultには4が返されます。

引数を指定しない場合の注意点として、配列の要素の中身はすべて数値である必要があります。

と文字列の要素がある配列に対してsumメソッドを実行すると
Rubyのsumメソッドを解説

と例外が発生します。

パターン2:引数を指定する場合

引数を指定する場合は、引数の値と配列を合計した値が返されます。
使い方サンプルは以下です。

上記の例だと、resultには6が返されます。

sumメソッドの引数に数ではなく文字列を指定すると、文字列の連結もできます。

では、resultには

という要素をすべて連結した文字列が返されます。

パターン3:ブロックを指定して引数を指定しない場合

ブロックを指定して引数を指定しない場合は、各要素にブロック内の処理を実行し合計した値が返されます。
使い方サンプルは以下です。

上記の例だと、resultには8が返されます。

注意点として、パターン1と同じく配列の要素の中身とブロック内の処理はすべて数値である必要があります。

パターン4:ブロックを指定して引数を指定する場合

ブロックを指定して引数を指定する場合は、引数の値と各要素にブロック内の処理を実行し合計した値が返されます。
使い方サンプルは以下です。

上記の例だと、resultには10が返されます。

パターン2と同じくsumメソッドの引数に数ではなく文字列を指定すると、文字列の連結もできます。

では、resultには要素をブロック内の処理が行われた

という文字列が返されます。

では、次の章で実際に使ってみます。

sumメソッドを解説するプログラムの概要

sumメソッドを解説するプログラムでは、整数型の配列を用意し

  • パターン1:引数を指定しない場合
  • パターン2:引数を指定する場合
  • パターン3:ブロックを指定して引数を指定しない場合
  • パターン4:ブロックを指定して引数を指定する場合

それぞれで、sumメソッドを使い、結果を表示させます。

Rubyサンプルプログラム

実行結果

Rubyプログラムを実行するやり方は、以下の記事をご参考ください。

Rubyのsumメソッドを解説

指定した条件で、配列の要素が合計されたり連結できていることが確認できました!

まとめ:sumメソッドを使ってみよう!

以上がsumメソッドについての解説でした!

あなたのご参考になったのなら、とても嬉しいです(*´▽`*)
ではでは~(・ω・)ノシ

コメント

タイトルとURLをコピーしました