先日、ピザをつっつきながら談笑していたところ...こんなやりとりが
@shuzo_kino 色々調べたのですが .each_with_indexなら.with_indexを使うほうが適切な感じがあるのですが如何に
http://t.co/xe4NAiu1vi
http://t.co/JmZir6DCGy
— けんぼー@留年コンサルタント (@kembo_net) 2014, 8月 6
...ハテ、with_indexとな?
以前はeach_with_indexとかワザワザやっていたのですが...
ためしにやってみると...
"string".each_char.with_index{|i,j| printf("%2s %02d\n", i, j)} #>> s 00 #>> t 01 #>> r 02 #>> i 03 #>> n 04 #>> g 05
アイエェェ..."each_"は余計!?
with_indexはEnumeratorのメソッドなので...enum_forで作ったものも対象内です
(1..9).enum_for(:each_slice, 2).with_index {|e,i| p [e,i]} #>> [[1, 2], 0] #>> [[3, 4], 1] #>> [[5, 6], 2] #>> [[7, 8], 3] #>> [[9], 4]
この調子だともっとコワイ実装がある気がしてきていますが...
少なくとも前よかCOOLなので今後はこうやって行こうと思いました(小並感