hash - Merge ruby hashes adding keys -
i have 2 hashes same keys
{1=>2, 2=>450, 3=>3}
and
{1=>'1232', 2=>'ffsa', 3=>'vdsvds'}
i want merge them this
{ 1=> {:number => 2, :string => '1232'}, 2=>{:number => 450, :string => 'ffsa'}, 3=>{:number => 3, :string => 'vdsvds'} }
getting values subkey 'number'
first hash , values subkey 'string'
second hash. best way achieve this?
here way :
h1 = {1=>2, 2=>450, 3=>3} h2 = {1=>'1232', 2=>'ffsa', 3=>'vdsvds'} h1.merge(h2) { |_, o, n| { number: o, string: n } } # => { # 1=>{:number=>2, :string=>"1232"}, # 2=>{:number=>450, :string=>"ffsa"}, # 3=>{:number=>3, :string=>"vdsvds"} # }
Comments
Post a Comment