Ruby中為何要同時有to_s,to_str,inspect這三個函數? nil.inspect為何是'nil”
怪我咯
怪我咯 2017-04-24 09:09:51
0
2
740

ruby新手,求大俠指點一二。

怪我咯
怪我咯

走同样的路,发现不同的人生

全部回覆(2)
Ty80

第一個問題:
to_s 應該是廣泛存在的方法,to_str 應該是 String 或很少的類別才有的方法。 ruby 確實有許多方法, https://ruby-china.org/topics/25311 。

第二個問題:
inspect 傳回型別是 string,傳回利於閱讀的放映目前物件的字串。 nil.inpsect 回傳 "nil" 因为他就是返回 "nil",看 NilClass#inspect 文件就知道了。

刘奇

這裡需要指出一個問題,那就是Ruby中的nil跟其他语言中的null是不一样的,nil是一個對象(不是一個類,他是NilClass這個類的一個對象),Ruby中用這個對象來代表沒有任何東西,但它本身是一個對象。

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板