Edited at

Rationalリテラル(Ruby2.1から)

More than 3 years have passed since last update.


x = 1/2r

p x * 2
#=> (1/1)

rサフィックスでRationalインスタンスを作れるか、うろ覚えだったので例外が発生するのかなと思いましたがそんなことはありませんでした。


pryで実験


pry(main)> Rational(1, 2)
=> (1/2)

pry(main)> 1/2r
=> (1/2)

pry(main)> Rational(1, 2) * 2
=> (1/1)

pry(main)> 1/2r * 2
=> (1/1)


参考リンク


Ruby 2.1.0 リリース (2.0 からの変更点)

https://www.ruby-lang.org/ja/news/2013/12/25/ruby-2-1-0-is-released/


2.0 からの変更点

.....

文法の変更

Rational/Complex リテラル #8430

defの戻り値 #3753

...



参考にしたツイート

以下のツイートにインスパイアされて記事を書きました。

参考: 武田哲也さんのRuby技術者認定試験受験記