普段for文なんて使わないので意外とその挙動を忘れていた。
-> % ruby -v
ruby 2.6.5p114 (2019-10-01 revision 67812) [x86_64-darwin18]
hashをforでループさせる場合、要素としてkeyとvalueから成る配列が代入される
# keyとvalueのペアを配列として扱う
for val in {a: 1, b: 2}
p val
p val[0]
p val[1]
end
# =>
[:a, 1]
:a
1
[:b, 2]
:b
2
要素を配列として扱いたくない場合には次のようにする
for key, value in {a: 1, b: 2}
p key
p value
end
# =>
:a
1
:b
2