返回一个 Proc
对象,它接收参数并对其进行处理。
实现此方法是为了 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);
}