Bye Bye Moore

PoCソルジャーな零細事業主が作業メモを残すブログ

each_char.each_with_indexなんて泥臭い事をせずとも...with_indexがあるんじゃよ

先日、ピザをつっつきながら談笑していたところ...こんなやりとりが

...ハテ、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なので今後はこうやって行こうと思いました(小並感