Skip to content

Preview Ruby 4.1 is a preview. It can change before the final release. Switch to Ruby 4.0 →

instance method

Enumerable#reverse_each

() { (E arg0) -> untyped } -> void
() -> ::Enumerator[E]
reverse_each(*args) {|element| ... } → self
reverse_each(*args) → enumerator

With a block given, calls the block with each element, but in reverse order; returns self:

Example
a = []
(1..4).reverse_each {|element| a.push(-element) } # => 1..4
a # => [-4, -3, -2, -1]

a = []
%w[a b c d].reverse_each {|element| a.push(element) }
# => ["a", "b", "c", "d"]
a # => ["d", "c", "b", "a"]

a = []
h.reverse_each {|element| a.push(element) }
# => {:foo=>0, :bar=>1, :baz=>2}
a # => [[:baz, 2], [:bar, 1], [:foo, 0]]

With no block given, returns an Enumerator.

See also #reject #select #reduce #slice_after also in 4.0 · 3.4 · 3.3 · 3.2 · 3.1 · 3.0