使用多个值访问 ruby 哈希中的特定值
Access a specific value in ruby hash with multiple values
嗨,我怎样才能访问 ruby 哈希中的特定值,例如,我怎样才能在木星内部变得“更冷”
planets= {
"jupiter" => ["brown", "big" , "colder"]
"mars" => ["red", "small", "cold"]
};
关注意图
肯定有不止一种方法可以做到这一点,所以关键是少关注结果(尽管获得正确的结果很重要),多关注有效表达您的意图 与代码。下面提供的所有示例(以及其他示例)都会为您提供正确的结果,但方法和语义都略有不同。始终选择最符合您要说的内容的方法。
修正你的哈希值
在执行任何其他操作之前,请修复您的无效哈希。例如:
planets = {
"jupiter" => ["brown", "big", "colder"],
"mars" => ["red", "small", "cold"],
}
位置Select离子
Select 你的键,然后是最后一个元素。示例包括:
planets['jupiter'][2]
#=> "colder"
planets['jupiter'][-1]
#=> "colder"
planets['jupiter'].last
#=> "colder"
基于内容Selection
如果您不知道要从嵌套数组中 select 哪个元素,则需要使用某种形式的匹配来找到它。示例包括:
planets['jupiter'].grep(/colder/).pop
#=> "colder"
planets['jupiter'].grep(/colder/).first
#=> "colder"
planets['jupiter'].grep(/colder/)[0]
#=> "colder"
planets['jupiter'].select { _1.match? /colder/ }.pop
#=> "colder"
嗨,我怎样才能访问 ruby 哈希中的特定值,例如,我怎样才能在木星内部变得“更冷”
planets= {
"jupiter" => ["brown", "big" , "colder"]
"mars" => ["red", "small", "cold"]
};
关注意图
肯定有不止一种方法可以做到这一点,所以关键是少关注结果(尽管获得正确的结果很重要),多关注有效表达您的意图 与代码。下面提供的所有示例(以及其他示例)都会为您提供正确的结果,但方法和语义都略有不同。始终选择最符合您要说的内容的方法。
修正你的哈希值
在执行任何其他操作之前,请修复您的无效哈希。例如:
planets = {
"jupiter" => ["brown", "big", "colder"],
"mars" => ["red", "small", "cold"],
}
位置Select离子
Select 你的键,然后是最后一个元素。示例包括:
planets['jupiter'][2]
#=> "colder"
planets['jupiter'][-1]
#=> "colder"
planets['jupiter'].last
#=> "colder"
基于内容Selection
如果您不知道要从嵌套数组中 select 哪个元素,则需要使用某种形式的匹配来找到它。示例包括:
planets['jupiter'].grep(/colder/).pop
#=> "colder"
planets['jupiter'].grep(/colder/).first
#=> "colder"
planets['jupiter'].grep(/colder/)[0]
#=> "colder"
planets['jupiter'].select { _1.match? /colder/ }.pop
#=> "colder"