繁体   English   中英

数组的Ruby哈希值,检索值

[英]Ruby hash of arrays, retrieving values

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

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

这一切都有效,现在如何在哈希中单独访问data1和data2

我认为puts hash["foobar"][0]应该输出foo但它返回nil

注意:散列中的每个数组都具有Exactly 2元素。

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

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

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

(你的结果 大概是 因为哈希文字没有0键。 在这里测试显示,显然可以起到=> (* shudder *)的作用,所以你的迭代等价于{data1 => data2} 。)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM