我想知道如何从哈希返回一个特定的密钥?
例:
moves = Hash["Kick", 100, "Punch", 50]
Run Code Online (Sandbox Code Playgroud)
如何从这个哈希中返回第一个"Kick"键?
注意:我知道以下函数将返回哈希中的所有键,但我只想返回一个键.
moves.keys #=> ["Kick", "Punch"]
Run Code Online (Sandbox Code Playgroud)
Mar*_*une 20
您可以使用:
first_key, first_value = moves.first
Run Code Online (Sandbox Code Playgroud)
或等效地:
first_key = moves.first.first
Run Code Online (Sandbox Code Playgroud)
非常好:
first_key = moves.each_key.first
Run Code Online (Sandbox Code Playgroud)
另一种可能性是,moves.keys.first为所有可能非常大的键构建一个中间数组.
请注意,Ruby 1.8不保证散列的顺序,因此您获得的密钥并不总是相同.在Ruby 1.9中,您将始终获得相同的密钥("Kick"在您的示例中).
rig*_*wed 16
moves.keys[0]
Run Code Online (Sandbox Code Playgroud)
会给你第一把钥匙.您可以通过更改传递的参数(0,1,...等)来获取所有键
| 归档时间: |
|
| 查看次数: |
30598 次 |
| 最近记录: |