Tag: yarv

Ruby的Enumerable#zip是否在内部创建数组?

在Ruby中 -有人说, 优雅地比较两个枚举器 zip的问题在于它在内部创建数组,无论您传递的是什么Enumerable。 输入参数的长度还有另一个问题 我看了一下YARV中Enumerable#zip的实现,并看到了 static VALUE enum_zip(int argc, VALUE *argv, VALUE obj) { int i; ID conv; NODE *memo; VALUE result = Qnil; VALUE args = rb_ary_new4(argc, argv); int allary = TRUE; argv = RARRAY_PTR(args); for (i=0; i<argc; i++) { VALUE ary = rb_check_array_type(argv[i]); if (NIL_P(ary)) { allary = FALSE; break; } argv[i] […]