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#each_entry

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

Calls the given block with each element, converting multiple values from yield to an array; returns self:

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

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

class Foo
  include Enumerable
  def each
    yield 1
    yield 1, 2
    yield
  end
end
Foo.new.each_entry {|yielded| p yielded }

Output:

Example
1
[1, 2]
nil

With no block given, returns an Enumerator.