有什么區(qū)別?我什么時(shí)候應(yīng)該使用哪個(gè)?為什么有這么多?
3 回答

慕容708150
TA貢獻(xiàn)1831條經(jīng)驗(yàn) 獲得超4個(gè)贊
有什么區(qū)別?
從文檔中:
-(布爾)instance_of?(class)
返回trueif obj是給定類的實(shí)例。
和:
-(布爾值)is_a?(class)
-(布爾值)kind_of?(class)
返回trueif class是的類obj,或者class是包含的的超類之一obj或模塊之一obj。
如果不清楚,最好弄清楚到底是什么還不清楚,以便可以改進(jìn)文檔。
我什么時(shí)候應(yīng)該使用哪個(gè)?
決不。請(qǐng)改用多態(tài)。
為什么有這么多?
我不會(huì)叫兩個(gè) “很多”。它們有兩個(gè),因?yàn)樗鼈冏鰞煞N不同的事情。

jeck貓
TA貢獻(xiàn)1909條經(jīng)驗(yàn) 獲得超7個(gè)贊
使用,更像Ruby詢問對(duì)象是否響應(yīng)您需要的方法respond_to?。這允許最少的界面和不帶意識(shí)的編程實(shí)現(xiàn)。
當(dāng)然,它并不總是適用的,因此,仍然有可能使用您要詢問的方法來(lái)詢問對(duì)“類型”(類或基類)的更保守的理解。
- 3 回答
- 0 關(guān)注
- 1136 瀏覽
添加回答
舉報(bào)
0/150
提交
取消