小编D13*_*p53的帖子

将两个哈希与一个公共密钥组合在一起

我一直在尝试在Ruby中组合两个哈希.例如:

h1 = { "a" => 10, "b" => 20, "c"=>34, "d"=>3}
h2 = { "a" => 11, "b" => 21, "d"=>15}
Run Code Online (Sandbox Code Playgroud)

我想要的输出是:

h{"a"=> 10, 11, "b"=>20,21, "c"=> 34, "d"=>3,15}
Run Code Online (Sandbox Code Playgroud)

每个哈希都有相同的密钥,除了第二个哈希可能缺少一些.我想这两个值然后由相同的键表示.

这是我不成功的代码:

h1 = { "a" => 10, "b" => 20, "c"=>34, "d"=>3}   
h2 = {  "a" => 11, "b" => 21, "d"=>15}  
h3= h1.update(h2){|key1, key2, val1, val2 |key1,h2_val=h2}
Run Code Online (Sandbox Code Playgroud)

它给:

{"a"=>{"a"=>11, "b"=>21, "d"=>15}, "b"=>{"a"=>11, "b"=>21, "d"=>15}, "c"=>34, "d"=>{"a"=>11, "b"=>21, "d"=>15}}
Run Code Online (Sandbox Code Playgroud)

我刚接触Ruby,所以我想我在这里缺少一些非常基本的东西.我将不胜感激任何帮助.

ruby hash

2
推荐指数
1
解决办法
866
查看次数

标签 统计

hash ×1

ruby ×1