["green", "Green"], "side2"=>["verde", "Verde"]} 如何获取散列中特定键的第一个(或-6ren">
gpt4 book ai didi

ruby - 从散列中的 Ruby 数组中获取第一项

转载 作者:数据小太阳 更新时间:2023-10-29 06:40:59 26 4
gpt4 key购买 nike

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

请注意,散列中的键是特定于它是字符串还是符号的。即 h[:side2] 将返回 nil,因为尚未设置 key 。 Rails 有一个 HashWithIndifferentAccess 类,它将符号和字符串视为等效键。

编辑

我应该提到我在 irb 中测试了我的答案。 irb 是测试您关于什么可行什么不可行的想法的好方法。在您的终端提示符中,键入 irb,回车,然后使用 ruby​​。

关于ruby - 从散列中的 Ruby 数组中获取第一项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6951744/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com