【Ruby3.x】Range::last()メソッドの使い方
lastメソッドの使い方について、初心者にもわかりやすく解説します。
作成日: 更新日:
基本的な使い方
lastメソッドは、Rangeオブジェクトの最後の要素を取得するメソッドです。
RubyのRangeオブジェクトは、例えば1..5のように、開始値から終了値までの一連の連続した値を表すために使用されます。このRangeオブジェクトに対してlastメソッドを呼び出すことで、その範囲の終端に位置する要素を簡単に取得できます。
引数を指定せずにlastメソッドを呼び出した場合、Rangeオブジェクトが表す範囲の最後の要素そのものを返します。例えば、(1..5).lastと記述すると、整数5が結果として得られます。また、文字の範囲である('a'..'c').lastは、文字'c'を返します。
オプションとして整数nを引数に指定することも可能です。last(n)のように呼び出すと、Rangeオブジェクトの最後からn個の要素を格納した配列を返します。例えば、(1..5).last(2)を実行すると、[4, 5]という配列が返されます。もし指定したnがRangeの総要素数よりも大きい場合でも、Rangeに含まれるすべての要素が配列として返されます。
このlastメソッドは、範囲の終端が明確に定義されている有限なRangeオブジェクトに対して有効です。もしRangeオブジェクトが無限範囲(例えば1..のように終端が省略されている場合)であると、最後の要素が存在しないため、TypeErrorが発生し、メソッドの実行は中断されます。このように、lastメソッドはRangeの特性を理解した上で活用することが重要です。
構文(syntax)
1range = (1..10) 2puts range.last 3puts range.last(3)
引数(parameters)
n
- n: Rangeから取得する要素の個数を指定する整数。省略された場合、Rangeの最後の要素を1つ取得します。
戻り値(return)
object
Rangeオブジェクトの最後の要素を返します。Rangeオブジェクトが空の場合はnilを返します。