"}", 3=>")", 4=>"(", 5=>"{", 6=>"["} hash2 = {1=>"[", 2=-6ren">
gpt4 book ai didi

ruby - 如何在 ruby​​ 中转置两个散列以生成单个散列或数组?

转载 作者:太空宇宙 更新时间:2023-11-03 17:20:04 24 4
gpt4 key购买 nike

我想将下面的两个散列组合成一个新的散列或数组:

hash1 = {1=>"]", 2=>"}", 3=>")", 4=>"(", 5=>"{", 6=>"["}
hash2 = {1=>"[", 2=>"{", 3=>"(", 4=>")", 5=>"}", 6=>"]"}

我希望结果看起来像这样:

result = {"["=>"]", "{"=>"}", "("=>")"}

result = [ ["[","]"], ["{","}"], ["(",")"] ]

有没有 ruby​​ 方法可以做到这一点?

最佳答案

你可以使用 Hash#transform_keys :

res = hash1.transform_keys { |k| hash2[k] }

res #=> {"["=>"]", "{"=>"}", "("=>")", ")"=>"(", "}"=>"{", "]"=>"["}

res.first(3) #=> [["[", "]"], ["{", "}"], ["(", ")"]]

关于ruby - 如何在 ruby​​ 中转置两个散列以生成单个散列或数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55327997/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com