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

时间:2014-12-29 15:32:49

标签: ruby-on-rails ruby hash

我有这样的哈希:

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"}

和另一个像

这样的哈希
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"}

我想将这两者合并到

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"}}

我尝试了以下内容:

c = a.merge(b)

以及

a.merge!(b)

这只返回了一个值

c = a+b 

错误。

怎么做?

1 个答案:

答案 0 :(得分:5)

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