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



这是一个真正的ruby新手问题。我有一个像这样的哈希值

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

我想提取值并将其存储在一个新的哈希中,就像这样

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

I tried doing

@hash2 = @hash1.values

但是这给了我一个类似于

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

我不知道如何将其转换为哈希。我可能漏掉了一些非常简单的东西。有什么办法吗?

很简单。只要做你所做的,但与[0]卡在末尾(获得第一个元素):

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

另一种稍微不同的方法是使用您正在寻找的确切键:

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

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

最新更新