やりたいこと
{ A: [1, 2, 3], B: ['a', 'b', 'c'] }
を
[{A: 1, B: 'a'}, {A: 2, B: 'b'}, {A: 3, B: 'c'}]
の形に変換したい
やり方
old_hash = { A: [1, 2, 3], B: ['a', 'b', 'c'] }
new_hash = old_hash.map do |key, value|
[[key] * value.length, value].transpose
end.transpose.map(&:to_h)
p new_hash # => [{:A=>1, :B=>"a"}, {:A=>2, :B=>"b"}, {:A=>3, :B=>"c"}]
もっと良い方法がありそう