【Ruby3.x】Enumerator::ArithmeticSequence::exclude_end?()メソッドの使い方
exclude_end?メソッドの使い方について、初心者にもわかりやすく解説します。
基本的な使い方
exclude_end?メソッドは、Enumerator::ArithmeticSequenceクラスに属し、数値のシーケンス(数列)の終了値がそのシーケンスに実際に含まれるかどうかを問い合わせるメソッドです。
このメソッドは、RubyのNumeric#stepメソッドによって生成されるEnumerator::ArithmeticSequenceオブジェクトに対して使用されます。stepメソッドでは、開始値、終了値(to: または limit: 引数で指定)、およびステップ幅を指定して数列を作成しますが、exclude_end?メソッドは、その指定した終了値が、実際に生成される数列の要素として含まれるのか、それとも含まれないのかを判定する役割を持っています。
具体的には、もしstepメソッドで指定された終了値が、計算によって生成される数列の要素として含まれない場合、このメソッドは真(true)を返します。例えば、「1から5まで2ステップで」という数列(1, 3)の場合、指定した終了値の5は数列に含まれないため、exclude_end?はtrueを返します。
一方で、もし指定された終了値が、計算によって生成される数列の要素として含まれる場合、このメソッドは偽(false)を返します。例えば、「1から5まで1ステップで」という数列(1, 2, 3, 4, 5)の場合、指定した終了値の5は数列に含まれるため、exclude_end?はfalseを返します。
このメソッドを利用することで、プログラムで数列を扱う際に、最終要素が数列に含まれるか否かを明確に判断でき、繰り返し処理の範囲や要素数の計算などを正確に行う上で役立ちます。
構文(syntax)
1inclusive_sequence = (1..5).step(1) 2puts inclusive_sequence.exclude_end? 3 4exclusive_sequence = (1...5).step(1) 5puts exclusive_sequence.exclude_end?
引数(parameters)
引数なし
引数はありません
戻り値(return)
Boolean
このメソッドは、範囲に終了値を含めないかどうかを示す真偽値 (Boolean) を返します。