【Ruby3.x】Array::sum()メソッドの使い方
sumメソッドの使い方について、初心者にもわかりやすく解説します。
基本的な使い方
sumメソッドは、レシーバーであるArrayオブジェクトのすべての要素の合計を計算し、その結果を返すメソッドです。このメソッドは、配列内に含まれる数値要素を効率的に合計するために使用されます。
基本的な使い方として、数値のみで構成された配列に対してsumメソッドを呼び出すと、すべての数値要素を足し合わせた結果が直接得られます。例えば、[1, 2, 3].sumは6を返します。
オプションの引数としてinitial(初期値)を指定することができます。この引数を指定すると、合計計算はその初期値から開始され、配列の要素が順に加算されます。initial引数を省略した場合、初期値は0として扱われます。これにより、特定の開始点から合計を計算したり、配列が空の場合のデフォルト値を設定したりすることが可能です。
さらに、オプションでブロックを渡すこともできます。ブロックを渡した場合、配列の各要素はそのブロックに渡され、ブロックが返した値が合計計算に利用されます。この機能は、配列内の要素を特定の形式に変換してから合計したい場合や、数値ではないオブジェクトを含む配列から特定の属性値を取り出して合計したい場合に非常に便利です。
配列が空の場合、initial引数が指定されていればその値が、指定されていなければ0が返されます。数値以外の要素が含まれる配列に対してinitial引数やブロックなしでsumメソッドを呼び出すと、通常はTypeErrorなどのエラーが発生する可能性があるため、注意が必要です。
構文(syntax)
1[1, 2, 3].sum
引数(parameters)
initial_value = 0
- initial_value: 集計の初期値。デフォルトは0です。
戻り値(return)
Numeric
配列の全要素の合計値を返します。数値以外の要素が含まれている場合は、それらを数値として扱えるように変換を試みます。