Ruby:将两个哈希合并为一个并连接值

www*_*www 15 ruby hash merge

哈希:

h1 = { "s1" => "2009-7-27", "s2" => "2010-3-6", "s3" => "2009-7-27" }

h2 = { "s1" => "12:29:15", "s2" => "10:00:17", "s3" => "12:25:52" }    
Run Code Online (Sandbox Code Playgroud)

我想合并这两个哈希像这样:

h = { "s1" => "2009-7-27 12:29:15",
      "s2" => "2010-3-6 10:00:17", 
      "s3" => "2009-7-27 2:25:52" }
Run Code Online (Sandbox Code Playgroud)

做这个的最好方式是什么?谢谢!

Chu*_*bas 35

h = h1.merge(h2){|key, first, second| first + " " + second }
Run Code Online (Sandbox Code Playgroud)

如果您的密钥相同,它将起作用.在你的代码中,它们不是("s1"vs"s1 =").它们应该是相同的键吗?