From: "mrkn (Kenta Murata)" Date: 2013-07-27T16:29:30+09:00 Subject: [ruby-core:56226] [ruby-trunk - Feature #8430] Rational number literal Issue #8430 has been updated by mrkn (Kenta Murata). matz (Yukihiro Matsumoto) wrote: > The final idea was "1r" to be "Rational(1,1)". We also accept the idea of "1i" as "Complex(0,1)". Additionaly them, "1.2r" as "Rational(12, 10)" is also accepted. But the exponential form with "r" suffix like "1e-5r" is not accepted because it can make us confusing. ---------------------------------------- Feature #8430: Rational number literal https://bugs.ruby-lang.org/issues/8430#change-40714 Author: mrkn (Kenta Murata) Status: Open Priority: Normal Assignee: matz (Yukihiro Matsumoto) Category: core Target version: current: 2.1.0 I would like to propose a new literal syntax for rational numbers. The implementation is available in my github repository: https://github.com/mrkn/ruby/commit/8ca0c9a53593e55d67f509fc403df616e2276e3a This patch implements a notation that consists of an integer, "//", and another integer, in a row. The first integer is the numerator, and the second is the denominator. Whitespaces are permitted between them. For example: 1 // 2 == Rational(1, 2) 1 // 1 == Rational(1, 1) 0 // 1 == Rational(0, 1) "0 // 0" occurs syntax error. I think this new syntax isn't conflict with an empty regexp because this implementation doesn't treat // as a binary operator. -- http://bugs.ruby-lang.org/