End of Life Ruby 3.0 has reached end of life and gets no more fixes. Switch to Ruby 4.0 →
instance method
Array#pop
array.pop → object or nil
array.pop(n) → new_array
array.c
View on GitHub ↗
static VALUE
rb_ary_pop_m(int argc, VALUE *argv, VALUE ary)
{
VALUE result;
if (argc == 0) {
return rb_ary_pop(ary);
}
rb_ary_modify_check(ary);
result = ary_take_first_or_last(argc, argv, ary, ARY_TAKE_LAST);
ARY_INCREASE_LEN(ary, -RARRAY_LEN(result));
ary_verify(ary);
return result;
}
Removes and returns trailing elements.
When no argument is given and self is not empty, removes and returns the last element:
Example
a = [:foo, 'bar', 2] a.pop # => 2 a # => [:foo, "bar"]
Returns nil if the array is empty.
When a non-negative Integer argument n is given and is in range, removes and returns the last n elements in a new Array:
Example
a = [:foo, 'bar', 2] a.pop(2) # => ["bar", 2]
If n is positive and out of range, removes and returns all elements:
Example
a = [:foo, 'bar', 2] a.pop(50) # => [:foo, "bar", 2]