Ruby中为何要同时有to_s,to_str,inspect这三个函数?nil.inspect为何是“nil”
怪我咯
怪我咯 2017-04-24 09:09:51
0
2
726

ruby新手,求大侠指点一二。

怪我咯
怪我咯

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

全員に返信(2)
Ty80

最初の質問:
to_s は広く存在するメソッドである必要があり、to_str は String または少数のクラスのみが持つメソッドである必要があります。 Ruby には多くのメソッドがあります (https://ruby-china.org/topics/25311)。

2番目の質問:
Inspect の戻り値の型は string で、現在のオブジェクトを読みやすい方法で表示する文字列を返します。 nil.inpsect は "nil" 因为他就是返回 "nil" を返します。NilClass#inspect のドキュメントを参照してください。

いいねを押す +0
刘奇

ここで問題を指摘する必要があります。つまり、Ruby の nil跟其他语言中的null是不一样的,nil はオブジェクトです (クラスではなく、NilClass クラスのオブジェクトです)。このオブジェクトは Ruby では何もせずに を表すために使用されますが、実際には です。それ自体がオブジェクトです。

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート