to_r -> Rational
[permalink][rdoc][edit]-
自身を有理数(Rational)に変換した結果を返します。
Kernel.#Rational に文字列を指定した時のように、以下のいずれかの形式で指定します。
- "1/3" のような分数の形式
- "0.3" のような10進数の形式
- "0.3E0" のような x.xEn の形式
- 数字をアンダースコアで繋いだ形式
' 2 '.to_r # => (2/1) '1/3'.to_r # => (1/3) '-9.2'.to_r # => (-46/5) '-9.2E2'.to_r # => (-920/1) '1_234_567'.to_r # => (1234567/1) '1_234/5_678'.to_r # => (617/2839)
Kernel.#Rational に文字列を指定した時とは異なる点もあります。
途中に変換できないような文字列が入っていた場合は、それより先の文字列は無視されます。
'21 june 09'.to_r # => (21/1) '21/06/09'.to_r # => (7/2) # 21/6 を約分して 7/2。
変換できないような文字列を指定した場合は 0/1 を返します。
'foo'.to_r # => (0/1) ''.to_r # => (0/1) 'bwv 1079'.to_r # => (0/1)
[SEE_ALSO] Kernel.#Rational