Ruby 4.1 リファレンスマニュアル

instance method Enumerable#each_with_object

each_with_object(obj) -> EnumeratorRuby 1.9.3 から[permalink][rdoc][edit]
each_with_object(obj) {|(*args), memo_obj| ... } -> object
[U] (U obj) { (Elem, U obj) → untyped } → U
[U] (U obj) → ::Enumerator[[ Elem, U ], U]

与えられた任意のオブジェクトと要素をブロックに渡し繰り返し、最初に与えられたオブジェクトを返します。

ブロックを省略した場合は Enumerator を返します。

[PARAM] obj:
任意のオブジェクトを指定します。
evens = (1..10).each_with_object([]) {|i, a| a << i*2 }
# => [2, 4, 6, 8, 10, 12, 14, 16, 18, 20]

[SEE_ALSO] Enumerator#with_object