有什么区别?我什么时候应该使用哪个?为什么有这么多?
3 回答
慕容708150
TA贡献1831条经验 获得超4个赞
有什么区别?
从文档中:
-(布尔)instance_of?(class)
返回trueif obj是给定类的实例。
和:
-(布尔值)is_a?(class)
-(布尔值)kind_of?(class)
返回trueif class是的类obj,或者class是包含的的超类之一obj或模块之一obj。
如果不清楚,最好弄清楚到底是什么还不清楚,以便可以改进文档。
我什么时候应该使用哪个?
决不。请改用多态。
为什么有这么多?
我不会叫两个 “很多”。它们有两个,因为它们做两种不同的事情。
jeck猫
TA贡献1909条经验 获得超7个赞
使用,更像Ruby询问对象是否响应您需要的方法respond_to?。这允许最少的界面和不带意识的编程实现。
当然,它并不总是适用的,因此,仍然有可能使用您要询问的方法来询问对“类型”(类或基类)的更保守的理解。
- 3 回答
- 0 关注
- 1081 浏览
添加回答
举报
0/150
提交
取消