nil.to_s
を返すのはなぜですが""
、(明らかにメソッドを使用している場合)をnil.inspect
返します"nil"
.inspect
.to_s
質問する
7183 次
2 に答える
24
Object クラスの「inspect」メソッドは、人間が読めるバージョンのオブジェクトを返すことになっています。
の人間が読めるバージョンnil
は "nil" であり、"" (文字列の人間が読めるバージョン""
) ではありません。
そのためnil.inspect
、「nil」を返す必要がありますが、通常は期待どおりに返すnil.to_s
ために「」を返します(たとえば、他の言語で)。"a string" + nil
"a string"
于 2012-09-12T19:56:05.887 に答える
6
のドキュメントを参照してくださいNilClass.inspect
。との"nil"
同等性を保証するものではありませんto_s
。
于 2012-09-12T19:53:31.737 に答える