Method: Enumerable#drop_while
- Defined in:
- enum.c
#drop_while {|obj| ... } ⇒ Array #drop_while ⇒ Object
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.
a = [1, 2, 3, 4, 5, 0]
a.drop_while { |i| i < 3 } #=> [3, 4, 5, 0]
2997 2998 2999 3000 3001 3002 3003 3004 3005 3006 3007 3008 |
# File 'enum.c', line 2997
static VALUE
enum_drop_while(VALUE obj)
{
VALUE result;
struct MEMO *memo;
RETURN_ENUMERATOR(obj, 0, 0);
result = rb_ary_new();
memo = MEMO_NEW(result, 0, FALSE);
rb_block_call(obj, id_each, 0, 0, drop_while_i, (VALUE)memo);
return result;
}
|