Issue #10549 has been updated by Thomas Sawyer.


If Functors* (https://bugs.ruby-lang.org/issues/6594) could be built into the language proper, then what you suggest should be possible with essentially no performance penalties at all.

(* Not to be confused with the Haskell concept.)

----------------------------------------
misc #10549: Deprecate each_with_index and each_with_object in favor of with_index and with_object
https://bugs.ruby-lang.org/issues/10549#change-50119

* Author: Daniel Morrison
* Status: Open
* Priority: Normal
* Assignee: Yukihiro Matsumoto
* Category: syntax
* Target version: current: 2.2.0
----------------------------------------
I wonder if we can deprecate `each_with_index` and `each_with_object` and fully recommend `with_index` and `with_object` instead.

I personally like the shorter forms because they hint that they can be used with more methods than simply `each`. People don't need to ask if there's a `map_with_index` method, they can just try chaining it the same way and it works! I realized this when teaching new Rubyists, because they often ask those questions.

There is a negligible performance hit.

Lots of code uses `each_with_index` but it is a one-character change to use `each.with_index` instead. 

Forgive me if this has been brought up recently, but I couldn't find any discussion on it.



-- 
https://bugs.ruby-lang.org/