有什么不同?我什么时候应该使用哪个?为什么会有这么多?

最佳答案

kind_of?is_a?是同义词。
instance_of?与其他两个不同之处在于,如果对象是该确切类的实例而不是子类,则仅返回true

例:

  • "hello".is_a? Object"hello".kind_of? Object返回true,因为"hello"StringStringObject的子类。
  • 但是"hello".instance_of? Object返回false
  • 关于ruby - Ruby : kind_of? vs. instance_of? vs. is_a?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3893278/

    10-12 04:08
    查看更多