如何根据键值从哈希访问值

时间:2018-02-13 18:50:22

标签: ruby ruby-hash

我有以下哈希

hash = {
   "some value": "abc",
   "other value": "dcd"
}

键值来自对象Test,我可以Test.key

访问它

我正在尝试从来自Test.key的密钥访问哈希值。我尝试从哈希hash[:Test.key]访问键值,但返回NoMethodError Exception: undefined method 'key' for :activity:Symbol

我怎样才能访问哈希值?

1 个答案:

答案 0 :(得分:1)

Ruby使用Object#eql?方法来比较哈希键。如果Test.keyString且哈希键是Symbol,则需要将其转换为Symbol

不使用hash[Test.key],而是使用hash[Test.key.to_sym]

另请参阅Object#eql?Hash