【Ruby3.x】Rational::to_r()メソッドの使い方
to_rメソッドの使い方について、初心者にもわかりやすく解説します。
作成日: 更新日:
基本的な使い方
to_rメソッドは、自身をRationalオブジェクトとして返すメソッドです。このメソッドは、Rubyにおいて分数で表現できる有理数を扱うための特別なクラスであるRationalクラスに属しています。通常、to_rメソッドはIntegerやFloatといった他の数値クラスに対して呼び出され、それぞれの数値を有理数であるRationalオブジェクトに変換する役割を担います。しかし、Rationalクラスのto_rメソッドは、既にRationalオブジェクトであるレシーバに対して呼び出されるため、新たに変換処理を行うのではなく、レシーバであるRationalオブジェクトそのものを結果として返します。
この動作は一見すると何の処理もしていないように見えるかもしれませんが、Rubyの数値オブジェクトが持つ共通のインターフェースとして非常に重要です。例えば、さまざまな数値型が混在するコードの中で、それらをすべて有理数として統一的に扱いたい場合、対象のオブジェクトがどの数値型であるかに関わらず、安全にto_rメソッドを呼び出すことができます。これにより、オブジェクトがすでにRational型であればそのままRationalオブジェクトとして取得し、そうでなければRational型に変換するという、一貫性のある処理フローを構築することが可能になります。この機能は、ポリモーフィズムを利用した柔軟な設計をサポートし、異なる数値型間の互換性を高める上で役立ちます。
構文(syntax)
1rational_object = Rational(1, 2) 2rational_object.to_r
引数(parameters)
引数なし
引数はありません
戻り値(return)
Rational
このメソッドは、呼び出したオブジェクト自身をRationalオブジェクトとして返します。