method

take

take(p1)
public

No documentation available.

static VALUE
lazy_take(VALUE obj, VALUE n)
{
    long len = NUM2LONG(n);
    VALUE lazy;

    if (len < 0) {
        rb_raise(rb_eArgError, "attempt to take negative size");
    }
    if (len == 0) {
        VALUE len = INT2FIX(0);
        lazy = lazy_to_enum_i(obj, sym_cycle, 1, &len, 0);
    }
    else {
        lazy = rb_block_call(rb_cLazy, id_new, 1, &obj,
                                         lazy_take_func, n);
    }
    return lazy_set_method(lazy, rb_ary_new3(1, n), lazy_take_size);
}