summaryrefslogtreecommitdiff
path: root/array.c
diff options
context:
space:
mode:
authorYukihiro Matsumoto <matz@ruby-lang.org>1994-10-14 06:19:03 +0900
committerTakashi Kokubun <takashikkbn@gmail.com>2019-08-17 22:09:30 +0900
commit29f237a8b1df650089b54447f070726c75706b6f (patch)
treee6ee836a39a5f2f1d433d6532de32471b655fb6d /array.c
parent173976c97c9426aa8d96e53aef6c0e570c5fdfda (diff)
version 0.54v0_54
https://cache.ruby-lang.org/pub/ruby/1.0/ruby-0.54.tar.gz
Diffstat (limited to 'array.c')
-rw-r--r--array.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/array.c b/array.c
index 581e028..a68f97a 100644
--- a/array.c
+++ b/array.c
@@ -456,6 +456,17 @@ Fary_each(ary)
}
static VALUE
+Fary_each_index(ary)
+ struct RArray *ary;
+{
+ int i;
+
+ for (i=0; i<ary->len; i++) {
+ rb_yield(INT2FIX(i));
+ }
+}
+
+static VALUE
Fary_length(ary)
struct RArray *ary;
{
@@ -870,6 +881,7 @@ Init_Array()
rb_define_method(C_Array, "shift", Fary_shift, 0);
rb_define_method(C_Array, "unshift", Fary_unshift, 1);
rb_define_method(C_Array, "each", Fary_each, 0);
+ rb_define_method(C_Array, "each_index", Fary_each_index, 0);
rb_define_method(C_Array, "length", Fary_length, 0);
rb_define_alias(C_Array, "size", "length");
rb_define_method(C_Array, "index", Fary_index, 1);