Skip to content
instance method · added in Ruby 4.0

Array#rfind

() { (Elem) -> ::boolish } -> Elem?
() -> ::Enumerator[Elem, Elem?]
[T] (::Enumerable::_NotFound[T] ifnone) { (Elem) -> ::boolish } -> (Elem | T)
[T] (::Enumerable::_NotFound[T] ifnone) -> ::Enumerator[Elem, Elem | T]
rfind(if_none_proc = nil) {|element| ... } → object or nil
rfind(if_none_proc = nil) → enumerator

Returns the last element for which the block returns a truthy value.

With a block given, calls the block with successive elements of the array in reverse order; returns the first element for which the block returns a truthy value:

Example
[1, 2, 3, 4, 5, 6].rfind {|element| element < 5}       # => 4

If no such element is found, calls if_none_proc and returns its return value.

Example
[1, 2, 3, 4].rfind(proc {0}) {|element| element < -2}  # => 0

With no block given, returns an Enumerator.

Ruby version changes

  1. 4.0