1

我有以下哈希

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

键值来自一个对象Test,我可以访问它Test.key

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

我如何访问哈希值?

4

1 回答 1

1

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

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

另见Object#eql?Hash

于 2018-02-13T18:52:35.397 回答