1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00

* complex.c: described syntax of string form.

* rational.c: ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39677 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
tadf 2013-03-10 00:18:52 +00:00
parent b3265c0ed6
commit ec9eabc6c2
3 changed files with 35 additions and 0 deletions

View file

@ -1,3 +1,8 @@
Sun Mar 10 09:12:51 2013 Tadayoshi Funaba <tadf@dotrb.org>
* complex.c: described syntax of string form.
* rational.c: ditto.
Sat Mar 9 11:58:39 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
* marshal.c (w_extended): check for prepended object.

View file

@ -483,6 +483,24 @@ f_complex_new2(VALUE klass, VALUE x, VALUE y)
*
* Complex(1, 2) #=> (1+2i)
* Complex('1+2i') #=> (1+2i)
*
* Syntax of string form:
*
* complex = real part | [ sign ] , imaginary part
* | real part , sign , imaginary part
* | rational , "@" , rational ;
* real part = rational ;
* imaginary part = imaginary unit | unsigned rational , imaginary unit ;
* rational = [ sign ] , unsigned rational ;
* unsigned rational = numerator | numerator , "/" , denominator ;
* numerator = integer part | fractional part | integer part , fractional part ;
* denominator = digits ;
* integer part = digits ;
* fractional part = "." , digits , [ ( "e" | "E" ) , [ sign ] , digits ] ;
* imaginary unit = "i" | "I" | "j" | "J" ;
* sign = "-" | "+" ;
* digits = digit , [ { digit | "_" , digit } ] ;
* digit = "0" | "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9" ;
*/
static VALUE
nucomp_f_complex(int argc, VALUE *argv, VALUE klass)

View file

@ -571,6 +571,18 @@ f_rational_new_no_reduce2(VALUE klass, VALUE x, VALUE y)
*
* Rational(1, 2) #=> (1/2)
* Rational('1/2') #=> (1/2)
*
* Syntax of string form:
*
* rational = [ sign ] , unsigned rational ;
* unsigned rational = numerator | numerator , "/" , denominator ;
* numerator = integer part | fractional part | integer part , fractional part ;
* denominator = digits ;
* integer part = digits ;
* fractional part = "." , digits , [ ( "e" | "E" ) , [ sign ] , digits ] ;
* sign = "-" | "+" ;
* digits = digit , [ { digit | "_" , digit } ] ;
* digit = "0" | "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9" ;
*/
static VALUE
nurat_f_rational(int argc, VALUE *argv, VALUE klass)