2哈希:
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" } 我想将两个散列合并为一个,如下所示:
h = { "s1" => "2009-7-27 12:29:15",
"s2" => "2010-3-6 10:00:17",
"s3" => "2009-7-27 2:25:52" }做这件事最好的方法是什么?谢谢!
发布于 2010-05-20 13:57:30
h = h1.merge(h2){|key, first, second| first + " " + second }如果你的钥匙是一样的,它就会起作用。在您的代码中,它们不是("s1“vs "s1=")。它们应该是相同的钥匙吗?
发布于 2010-05-20 13:57:27
你的意思是:
Hash[h1.map{|k,v| [k, "#{v} #{h2[k]}"]}]
=> {"s3"=>"2009-7-27 12:25:52", "s1"=>"2009-7-27 12:29:15", "s2"=>"2010-3-6 10:00:17"}注意散列是无序的,如果你想要一个有序的散列,你可能需要看一下at this
https://stackoverflow.com/questions/2871323
复制相似问题