还有什么比下面的内容更地道的吗?
foo.class == String
发布于 2011-10-13 12:25:50
我想你是在找instance_of?
。对于派生类的实例,is_a?
和kind_of?
将返回true。
class X < String
end
foo = X.new
foo.is_a? String # true
foo.kind_of? String # true
foo.instance_of? String # false
foo.instance_of? X # true
发布于 2011-10-13 13:28:31
一种更像鸭子类型的方法应该是
foo.respond_to?(:to_str)
to_str
表明对象的类可能不是字符串的实际后代,但对象本身非常类似于字符串(stringy?)。
发布于 2011-10-13 12:20:34
您可以执行以下操作:
foo.instance_of?(String)
更普遍的是:
foo.kind_of?(String)
https://stackoverflow.com/questions/7749416
复制相似问题