Skip to content

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

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]

Related: push, shift, unshift.

See also #permutation #prepend #pack #product also in 4.1 · 4.0 · 3.4 · 3.3 · 3.2 · 3.1