Ruby提取哈希值并保存到新哈希

时间:2013-03-10 03:37:56

标签: ruby ruby-on-rails-3.2

这是一个真正的红宝石新手问题。我有一个看起来像这样的哈希

@hash1 = {1=>{"a"=>1,"b"=>2,"c"=>3}}

我想提取值并将其存储在像这样的新哈希

{"a"=>1,"b"=>2,"c"=>3}

我试过

@hash2 = @hash1.values

但是这给了我一个看起来像

的数组
[{"a"=>1,"b"=>2,"c"=>3}]

我无法弄清楚如何将其转换为哈希。我可能错过了一些非常简单的东西。任何想法如何做到这一点?

2 个答案:

答案 0 :(得分:2)

简单。做你做过的事情,但是[0]卡在最后(获得第一个元素):

@hash.values[0] #=> {"a"=>1,"b"=>2,"c"=>3}

答案 1 :(得分:2)

有点不同的方法是使用您正在寻找的确切密钥:

@hash1 = {1=>{"a"=>1,"b"=>2,"c"=>3}}
@hash2 = @hash1[1]

现在变量@hash2将包含{"c"=>3, "b"=>2, "a"=>1}