【Ruby3.x】Rational::coerce()メソッドの使い方
coerceメソッドの使い方について、初心者にもわかりやすく解説します。
作成日: 更新日:
基本的な使い方
coerceメソッドは、異なる数値型間で演算が行われる際に、型の変換を調整するために呼び出されるメソッドです。主に、Rationalオブジェクトが他の数値型(例えばFloatやInteger)と演算を行う場合に、両方のオブジェクトを互換性のある型に変換するために使用されます。
具体的には、Rationalオブジェクト自身と、演算相手のオブジェクト(other)の両方を、引数の型を優先して変換し、それらを要素とする配列を返します。例えば、Float型の数値とRational型の数値が足し算されるようなケースで、Float側の演算メソッドが直接Rational型を扱えない場合、Float型からRationalオブジェクトのcoerceメソッドが呼び出されます。この際、coerceメソッドは、引数であるFloat型をRational型に変換し、自身もRational型のまま、[変換されたother, self]という形式の配列を返します。
これにより、演算を実行する側は、統一された型の数値を受け取ることができ、適切な計算処理を進めることが可能になります。このメソッドは、異なる数値型が混在する計算において、一貫性のある結果を得るためのRubyの柔軟な仕組みを支える重要な役割を果たしています。
構文(syntax)
1Rational(3, 4).coerce(5)
引数(parameters)
other
- other: 自身 (Rational オブジェクト) と演算可能な他の数値オブジェクト
戻り値(return)
Array<Rational>
このメソッドは、演算対象となる数値をRationalクラスのインスタンス(有理数)に変換し、そのRationalクラスのインスタンスを要素とする配列を返します。