我已经遍布各个网站,似乎无法找到如何在哈希中访问数组。有很多方法可以迭代,但是没有平坦的访问权限。
hash = Hash.new()
data1 = "foo"
data2 = "bar"
hash["foobar"] = {data1, data2}
一切正常,现在如何在哈希中单独访问data1和data2 ?
我在考虑将hash["foobar"][0]
输出foo
,但它会返回nil
。
注意:哈希中的每个数组都有2个元素。
我知道答案是一个简单的1班轮,我似乎无法找到它。
答案 0 :(得分:2)
正如我对这个问题所评论的那样,数组文字是方括号[ ]
,而不是花括号{ }
。将您的最后一行更改为:
hash["foobar"] = [data1, data2]
(你得到nil 大概是因为哈希文字没有0
密钥。测试here表明,
显然可以作为=>
运行}(* shudder *),所以你的迭代等价于{data1 => data2}
。)