Skip to content

End of Life Ruby 3.1 has reached end of life and gets no more fixes. Switch to Ruby 4.0 →

instance method

Enumerator#each_with_object

e.each_with_object(obj) {|(*args), obj| ... }
e.each_with_object(obj)

Iterates the given block for each element with an arbitrary object, obj, and returns obj

If no block is given, returns a new Enumerator.

Example

Example
to_three = Enumerator.new do |y|
  3.times do |x|
    y << x
  end
end

to_three_with_string = to_three.with_object("foo")
to_three_with_string.each do |x,string|
  puts "#{string}: #{x}"
end

# => foo: 0
# => foo: 1
# => foo: 2
See also #each_with_index #feed #each #inspect also in 4.1 · 4.0 · 3.4 · 3.3 · 3.2 · 3.0