我的哈希是h = {"1"=>"0-20%"}
我检查h.instance_of?(Hash)
应返回false
,但会返回true
。
为什么?
答案 0 :(得分:4)
答案 1 :(得分:1)
没有instance_of
。可能你想做instance_of?
。它应该返回true,因为它是一个哈希值。
答案 2 :(得分:0)
这是一个很好的问题。但是错过了代码的执行上下文。应该提一下,问题有ruby-on-rails标签。
我不知道具体但在某些情况下您的Hash
可以提升为ActiveSupport::HashWithIndifferentAccess
。这会导致instance_of?
返回false
。
在这种情况下使用kind_of?
。