有什么区别?我什么时候应该使用哪个?为什么有这么多?
最佳答案
kind_of?
和 is_a?
是同义词。
instance_of?
与其他两个的不同之处在于它仅在对象是该类的实例而不是子类的实例时才返回 true
。
例子:
"hello".is_a?对象
和"hello".kind_of? Object
返回true
因为"hello"
是一个String
而String
是的子类>对象
。- 但是
“hello”.instance_of?对象
返回false
。
关于 ruby :kind_of?与 instance_of?与 is_a?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3893278/