返回一个 Proc
对象,它接受参数并将其作为 yield。
此方法的实现是为了使 Yielder
对象可以直接作为块参数传递给其他方法。
enum = Enumerator.new { |y|
Dir.glob("*.rb") { |file|
File.open(file) { |f| f.each_line(&y) }
}
}
static VALUE
yielder_to_proc(VALUE obj)
{
VALUE method = rb_obj_method(obj, sym_yield);
return rb_funcall(method, idTo_proc, 0);
}