Ruby - 我可以在哈希中获取具有多个值的键吗?

时间:2014-03-15 19:21:22

标签: ruby hash

我有这个哈希:

@@MAPPINGS= {A: 2, B: 2, C: 2, D: 3, E: 3, F: 3, G: 4, H: 4, I: 4, J: 5, K: 5, L: 5, M: 6, N: 6, O: 6, P: 7, Q: 7, R: 7, S: 7, T: 8, U: 8, V: 8, W: 9, X: 9, Y: 9, Z: 9}

我想要与给定值匹配的键值对,例如对于值为3的我想要

{D: 3, E: 3, F: 3)

我试过了:

@@MAPPINGS.keys[3]

得到了

=> :D 

@@MAPPINGS[3].keys

但得到了

NoMethodError: undefined method `keys' for nil:NilClass

1 个答案:

答案 0 :(得分:4)

@@MAPPINGS.select { |key,val| val == 3 }

是一个选项