take(p1)
public
Returns first n elements from
enum.
a = [1, 2, 3, 4, 5, 0]
a.take(3)
Show source
/*
* call-seq:
* enum.take(n) => array
*
* Returns first n elements from <i>enum</i>.
*
* a = [1, 2, 3, 4, 5, 0]
* a.take(3)
*
*/
static VALUE
enum_take(obj, n)
VALUE obj;
VALUE n;
{
VALUE args[2];
long len = NUM2LONG(n);
if (len < 0) {
rb_raise(rb_eArgError, "attempt to take negative size");
}
if (len == 0) return rb_ary_new2(0);
args[1] = len;
args[0] = rb_ary_new();
rb_block_call(obj, id_each, 0, 0, take_i, (VALUE)args);
return args[0];
}