Method: Array#drop_while
- Defined in:
- array.c
#drop_while {|arr| ... } ⇒ Array #drop_while ⇒ Enumerator
Drops elements up to, but not including, the first element for which the block returns nil or false and returns an array containing the remaining elements.
If no block is given, an Enumerator is returned instead.
See also Array#take_while
a = [1, 2, 3, 4, 5, 0]
a.drop_while {|i| i < 3 } #=> [3, 4, 5, 0]
5347 5348 5349 5350 5351 5352 5353 5354 5355 5356 5357 |
# File 'array.c', line 5347
static VALUE
rb_ary_drop_while(VALUE ary)
{
long i;
RETURN_ENUMERATOR(ary, 0, 0);
for (i = 0; i < RARRAY_LEN(ary); i++) {
if (!RTEST(rb_yield(RARRAY_AREF(ary, i)))) break;
}
return rb_ary_drop(ary, LONG2FIX(i));
}
|