Feature #7384

Rename #each_with_object to #each_with

Added by Thomas Sawyer about 3 years ago. Updated about 3 years ago.



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#with Open 07/02/2012
Related to Ruby trunk - Feature #7340: 'each_with' or 'into' alias for 'each_with_object' Open 11/13/2012


#1 Updated by Benoit Daloze about 3 years ago

I couldn't agree more!

Enumerator#with_object should become Enumerator#with as well.

#2 Updated by Anonymous about 3 years ago

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

#3 Updated by Akira Tanaka over 1 year ago

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

Also available in: Atom PDF