我有一个看起来像这样的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/

10-11 15:59