summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorakr <akr@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2008-12-22 12:32:11 +0000
committerakr <akr@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2008-12-22 12:32:11 +0000
commita550f2992bfbde8649e975eb345a4b478adbdd05 (patch)
treeddb8a974cc0a2af37d5525b81ef24cb67aede5d7
parentb795b5c537692cabadbb50271b0f8e7ba1c1785b (diff)
* numeric.c (int_ord): Integer#ord implemented.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20918 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r--ChangeLog4
-rw-r--r--numeric.c21
2 files changed, 25 insertions, 0 deletions
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 <akr@fsij.org>
+
+ * numeric.c (int_ord): Integer#ord implemented.
+
Mon Dec 22 21:26:12 2008 Tanaka Akira <akr@fsij.org>
* 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);