Ruby 4.1 リファレンスマニュアル

instance method Complex#to_r

to_r -> RationalRuby 1.9.3 から[permalink][rdoc][edit]
() → Rational

self の虚部がゼロであれば実部を Rational に変換して返します。

[EXCEPTION] RangeError:
虚部がゼロでない場合に発生します。
p (0.75 + 0i).to_r   # => (3/4)
p (0.75 + 0ri).to_r  # => (3/4)
p (0.75 + 0.0i).to_r # => (3/4)
変換できない例
# 虚部がゼロでない
(1 + 2i).to_r # ~> RangeError