From a550f2992bfbde8649e975eb345a4b478adbdd05 Mon Sep 17 00:00:00 2001 From: akr Date: Mon, 22 Dec 2008 12:32:11 +0000 Subject: [PATCH] * numeric.c (int_ord): Integer#ord implemented. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20918 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 4 ++++ numeric.c | 21 +++++++++++++++++++++ 2 files changed, 25 insertions(+) diff --git a/ChangeLog b/ChangeLog index 14e1de5e3f..f3539988a3 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +Mon Dec 22 21:31:11 2008 Tanaka Akira + + * numeric.c (int_ord): Integer#ord implemented. + Mon Dec 22 21:26:12 2008 Tanaka Akira * io.c (rb_io_s_pipe): IO.pipe can take a block. diff --git a/numeric.c b/numeric.c index c2c8730872..a2c3a4b043 100644 --- a/numeric.c +++ b/numeric.c @@ -1926,6 +1926,26 @@ int_chr(int argc, VALUE *argv, VALUE num) return str; } +/* + * call-seq: + * int.ord => int + * + * Returns the int itself. + * + * ?a.ord #=> 97 + * + * This method is intended for compatibility to + * character constant in Ruby 1.9. + * For example, ?a.ord returns 97 both in 1.8 and 1.9. + */ + +static VALUE +int_ord(num) + VALUE num; +{ + return num; +} + static VALUE int_numerator(VALUE num) { @@ -3124,6 +3144,7 @@ Init_Numeric(void) rb_define_method(rb_cInteger, "next", int_succ, 0); rb_define_method(rb_cInteger, "pred", int_pred, 0); rb_define_method(rb_cInteger, "chr", int_chr, -1); + rb_define_method(rb_cInteger, "ord", int_ord, 0); rb_define_method(rb_cInteger, "to_i", int_to_i, 0); rb_define_method(rb_cInteger, "to_int", int_to_i, 0); rb_define_method(rb_cInteger, "floor", int_to_i, 0);