1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@60525 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
eregon 2017-10-28 15:15:48 +00:00
parent 6530b14cee
commit 8c5b60eb22
218 changed files with 4069 additions and 328 deletions

View file

@ -230,6 +230,19 @@ static VALUE kernel_spec_rb_yield(VALUE self, VALUE obj) {
return rb_yield(obj);
}
static VALUE kernel_spec_rb_yield_each(int argc, VALUE *args, VALUE self) {
int i;
for(i = 0; i < 4; i++) {
rb_yield(INT2FIX(i));
}
return INT2FIX(4);
}
static VALUE kernel_spec_rb_yield_define_each(VALUE self, VALUE cls) {
rb_define_method(cls, "each", kernel_spec_rb_yield_each, -1);
return Qnil;
}
static int kernel_cb(const void *a, const void *b) {
rb_yield(Qtrue);
return 0;
@ -392,6 +405,7 @@ void Init_kernel_spec(void) {
#ifdef HAVE_RB_YIELD
rb_define_method(cls, "rb_yield", kernel_spec_rb_yield, 1);
rb_define_method(cls, "rb_yield_indirected", kernel_spec_rb_yield_indirected, 1);
rb_define_method(cls, "rb_yield_define_each", kernel_spec_rb_yield_define_each, 1);
#endif
#ifdef HAVE_RB_YIELD_VALUES