Florian Kaufmann
4/20/2009 9:14:00 AM
#!/usr/bin/ruby
h1 = {
:a1 => [:y1, :y2, :y3],
:a2 => [:y4, :y5, :y6]
}
h2 = {
:a2 => [:z1, :z2, :z3],
:a3 => [:z4, :z5, :z6]
}
h = {}
(h1.keys + h2.keys).each {|k| h[k] = [[],[]] }
h = h1.to_a.inject(h) { |i,kv| i[kv[0]][0] = kv[1]; i }
h = h2.to_a.inject(h) { |i,kv| i[kv[0]][1] = kv[1]; i }
p h
gives
{:a2=>[[:y4, :y5, :y6], [:z1, :z2, :z3]], :a1=>[[:y1, :y2, :y3],
[]], :a3=>[[], [:z4, :z5, :z6]]}