在ruby中添加两个具有相同键的哈希值

Ara*_*ind 0 ruby hash ruby-on-rails

我有这样的哈希:

a = {:start=>"Tue, 27 Jan 2015 13:00:00 +0000", :end=>"Tue, 27 Jan 2015 13:30:00 +0000", :title=>"2015-01-27T13:00:00+00:00 to 2015-01-27T13:30:00+00:00"}
Run Code Online (Sandbox Code Playgroud)

和另一个像哈希一样

b = {:start=>Tue, 27 Jan 2015 13:30:00 +0000, :end=>Tue, 27 Jan 2015 14:00:00 +0000, :title=>"2015-01-27T13:30:00+00:00 to 2015-01-27T14:00:00+00:00"}
Run Code Online (Sandbox Code Playgroud)

我想把这两个合并成

c = {{:start=>"Tue, 27 Jan 2015 13:00:00 +0000", :end=>"Tue, 27 Jan 2015 13:30:00 +0000", :title=>"2015-01-27T13:00:00+00:00 to 2015-01-27T13:30:00+00:00"},{:start=>Tue, 27 Jan 2015 13:30:00 +0000, :end=>Tue, 27 Jan 2015 14:00:00 +0000, title=>"2015-01-27T13:30:00+00:00 to 2015-01-27T14:00:00+00:00"}}
Run Code Online (Sandbox Code Playgroud)

我尝试了以下方法:

c = a.merge(b)
Run Code Online (Sandbox Code Playgroud)

并且

a.merge!(b)
Run Code Online (Sandbox Code Playgroud)

这只给了一个值和

c = a+b 
Run Code Online (Sandbox Code Playgroud)

给了错误.

这该怎么做?

Sat*_*tya 5

我认为,即使对于JSON,它的语法也不正确.你想要一个哈希数组,通过将外部{}转换为[].更好:c = [a,b].to_json