2016年4月26日火曜日

rubyのHashでeach_with_indexの使い方

rubyのHashでeach_with_index使う時に調べててなるほどと思ったので書きました。
まずはこういうHashがあるとします。
test = { english: 100, japanese: 90 }

普通にeach_with_indexを使うとこんな感じになるかと思います。
test.each_with_index do |obj, index|
 p obj
 p obj.class
 p index
end

[:english, 100]
Array
0
[:japanese, 90]
Array
1
この形だとせっかくHashなのにkeyとvalueを分けて取れないので以下のようにやるとよいようです。
test.each_with_index do |(key, val), index|
 p key
 p val
 p index
end

:english
100
0
:japanese
90
1
これは知らなかったのですごく便利。

参考URL
http://bismar.hatenablog.com/entry/2012/12/01/215111

0 件のコメント:

コメントを投稿