数组的Ruby哈希值,检索值

时间:2013-04-19 02:59:22

标签: ruby arrays hash

我已经遍布各个网站,似乎无法找到如何在哈希中访问数组。有很多方法可以迭代,但是没有平坦的访问权限。

hash = Hash.new()
data1 = "foo"
data2 = "bar"
hash["foobar"] = {data1, data2}

一切正常,现在如何在哈希中单独访问data1和data2

我在考虑将hash["foobar"][0]输出foo,但它会返回nil

注意:哈希中的每个数组都有2个元素。

我知道答案是一个简单的1班轮,我似乎无法找到它。

1 个答案:

答案 0 :(得分:2)

正如我对这个问题所评论的那样,数组文字是方括号[ ],而不是花括号{ }。将您的最后一行更改为:

hash["foobar"] = [data1, data2]

(你得到nil 大概是因为哈希文字没有0密钥。测试here表明,显然可以作为=>运行}(* shudder *),所以你的迭代等价于{data1 => data2}。)