我想知道如何从哈希中返回特定的密钥?
示例:
moves = Hash["Kick", 100, "Punch", 50]
如何从这个哈希中返回第一个“Kick”键?
注意:我知道以下函数将返回散列中的所有键,但我只想返回一个键。
moves.keys #=> ["Kick", "Punch"]
答案 0 :(得分:20)
您可以使用:
first_key, first_value = moves.first
或等效地:
first_key = moves.first.first
非常好:
first_key = moves.each_key.first
另一种可能性,moves.keys.first
将为所有可能非常大的密钥构建一个中间数组。
请注意,Ruby 1.8不保证散列顺序,因此您获得的密钥并不总是相同。在Ruby 1.9中,您将始终获得相同的密钥(在您的示例中为"Kick"
)。
答案 1 :(得分:16)
moves.keys[0]
会给你第一把钥匙。 您可以通过更改传递的参数(0,1,...等)
来获取所有键答案 2 :(得分:8)
moves.keys.first
将实现这一目标。