我有一个看起来像这样的Ruby哈希:
h = {"side1"=>["green", "Green"], "side2"=>["verde", "Verde"]}
如何在哈希中的特定键处获得第一个(或最后一个)项目?
最佳答案
实际上,问题中的示例伪代码是正确的。
为了你的哈希
h = {
"side1" => ["green", "Green"],
"side2" => ["verde", "Verde"]
}
键是
'side1'
和'side2'
(其值在hashrocket的右侧)因此,
h['side2'].first
表示,对于键'side2'
的值,获取值["verde", "Verde"]
中的第一个元素,它是一个数组。 h['side2'][0]
也可以。别名first
是一种方便的方法。要获取数组的最后一个元素而不必知道数组的大小,请使用负索引。例如
h['side2'][-1]
,在这种情况下等效于h['side2'][1]
。请注意,哈希中的键是有关字符串还是符号的特定说明。那是因为没有设置 key ,所以
h[:side2]
将返回nil。 Rails有一个HashWithIndifferentAccess
类,它将符号和字符串视为等效键。编辑
我应该提到我在
irb
中测试了我的答案。 irb
是测试您关于什么可行和不可行的想法的好方法。在终端提示符下,键入irb
,输入并播放 ruby 。关于ruby - 从哈希表中的Ruby数组中获取第一项,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6951744/