このマニュアルは既にメンテナンスが終了したバージョンの Ruby を対象としています。 最新版のマニュアルへ

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

instance method Complex#rationalize

rationalize -> RationalRuby 1.9.3 から[permalink][rdoc][edit]
rationalize(eps) -> Rational

self の虚部が IntegerRational のゼロであれば実部を Rational に変換して返します。許容誤差 eps を与えることもできます。

[PARAM] eps:
許容する誤差。
[EXCEPTION] RangeError:
虚部がゼロでなかったり Float のゼロである場合に発生します。
p Complex(0.1).rationalize            # => (1/10)
p Complex(Math::PI).rationalize(0.01) # => (22/7)
変換できない例
# 虚部がゼロでない
(1 + 2i).rationalize # ~> RangeError

# 虚部がゼロだが Float の 0.0 である
(1 + 0.0i).rationalize # ~> RangeError

[SEE_ALSO] Float#rationalize, Integer#rationalize, Rational#rationalize