我有一个哈希,它是h = {"1"=>"0-20%"}
我检查h.instance_of?(Hash)
,它应该返回false
,但它返回true
。
为什么?
h
是哈希类和的实例
根据此处:
如果obj是的实例,则返回true给定的类。另请参阅对象#kind_of?。
因此,根据定义h.instance_of?(Hash)
将返回true。
没有instance_of
。也许你想做instance_of?
。它应该返回true,因为它是一个散列。
这是个好问题。但错过了代码的执行上下文。值得一提的是,这个问题有ruby on rails标签。
我不知道具体情况,但在某些情况下,你的Hash
可以升级为ActiveSupport::HashWithIndifferentAccess
。这使得CCD_ 11返回CCD_。
在这种情况下,使用kind_of?
。