亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Ruby:kind_of?與instance_of?與is_a?

Ruby:kind_of?與instance_of?與is_a?

暮色呼如 2020-02-03 15:18:06
有什么區別?我什么時候應該使用哪個?為什么有這么多?
查看完整描述

3 回答

?
慕容708150

TA貢獻1831條經驗 獲得超4個贊

有什么區別?


從文檔中:


-(布爾)instance_of?(class)

返回trueif obj是給定類的實例。

和:


-(布爾值)is_a?(class)

-(布爾值)kind_of?(class)

返回trueif class是的類obj,或者class是包含的的超類之一obj或模塊之一obj。

如果不清楚,最好弄清楚到底是什么還不清楚,以便可以改進文檔。


我什么時候應該使用哪個?


決不。請改用多態。


為什么有這么多?


我不會叫兩個 “很多”。它們有兩個,因為它們做兩種不同的事情。


查看完整回答
反對 回復 2020-02-03
?
jeck貓

TA貢獻1909條經驗 獲得超7個贊

使用,更像Ruby詢問對象是否響應您需要的方法respond_to?。這允許最少的界面和不帶意識的編程實現。


當然,它并不總是適用的,因此,仍然有可能使用您要詢問的方法來詢問對“類型”(類或基類)的更保守的理解。


查看完整回答
反對 回復 2020-02-03
  • 3 回答
  • 0 關注
  • 1126 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號