each_with_index か each.with_index か
以前書いた話でさらっと触れたのが・・・
ちなみに、Ruby1.8.7以降だと、「each_with_index」ではなく、
「each.with_index」の方が汎用性が高まります
・・・というお話
その時はそう書いたものの、いったんEnumeratorを取得してからメソッドを呼ぶよりも、
Array#each_with_indexを直に呼ぶ方がコストが低いんじゃないかと
でもEnumeratorを経由した方が汎用性が高いのも事実だし・・・
で、いろいろ調べた結果、決定打になったのがこれでした
http://redmine.ruby-lang.org/issues/show/1119
「indexの初期値を与えられるようにしたい」という議論での投稿ですが、
まつもと氏があっさりと「each_with_indexは放置」と言っているのです
つまり、今後の方向性として、Enumeratorを扱うのが基本であるということです
実はこの機能、今すぐにでも欲しいのです
以前書いたコードは今のシステムに頻繁に現れるのですが、
indexが0-originであるために、片っ端からi+1って書かないといけないもので・・・
ということで、迷わず「each.with_index」で...φ(・ω・`)