instance method
Enumerator::Lazy#take
(::Integer n) -> ::Array[Elem]
lazy.take(n) → lazy_enumerator
enumerator.c
View on GitHub ↗
static VALUE
lazy_take(VALUE obj, VALUE n)
{
long len = NUM2LONG(n);
if (len < 0) {
rb_raise(rb_eArgError, "attempt to take negative size");
}
n = LONG2NUM(len); /* no more conversion */
return lazy_add_method(obj, 0, 0, n, rb_ary_new3(1, n), &lazy_take_funcs);
}
Like Enumerable#take, but chains operation to be lazy-evaluated.