Feature #7384

Rename #each_with_object to #each_with

Added by trans (Thomas Sawyer) over 5 years ago. Updated 3 months ago.

Target version:


I propose that #each_with_object be renamed to #each_with, for the following reasons:

  1. The original name is too long. When general purpose methods have long names it tends to deter developers from using them even when they are a good fit to the use case.

  2. The last word, "object", is completely redundant. All methods that take an argument could say the same thing. e.g. Array#push is not named #push_object though that is obviously what it means.

  3. The change need not effect backward compatibility b/c #each_with_object can remain an alias of #each_with for as long as deemed necessary.

Related issues

Related to Ruby trunk - Feature #6687: Enumerable#withOpen
Related to Ruby trunk - Feature #7340: 'each_with' or 'into' alias for 'each_with_object'Open


#1 [ruby-core:49522] Updated by Eregon (Benoit Daloze) over 5 years ago

I couldn't agree more!

Enumerator#with_object should become Enumerator#with as well.

#2 [ruby-core:49614] Updated by Anonymous over 5 years ago

+1 for Eregon. #each_with_object is my favorite method, I love and always alias it to #ewo :)

#3 [ruby-core:62508] Updated by akr (Akira Tanaka) almost 4 years ago

  • Related to Feature #7340: 'each_with' or 'into' alias for 'each_with_object' added

#4 Updated by naruse (Yui NARUSE) 3 months ago

  • Target version deleted (2.6)

Also available in: Atom PDF