4

重複の可能性:
この Ruby オブジェクトには、同じことを行う 2 つの to_s メソッドと inspect メソッドがあるのはなぜですか? というか、そうらしい

Ruby: x が変数の場合、x.inspect の使用と x.to_s の使用に違いはありますか? 2つの方法の違いは何ですか?

4

1 に答える 1

7

通常、それらは常に同じではありません。のドキュメントによるとObject.inspect()

オーバーライドされていない場合は、to_s メソッドを使用して文字列を生成します。

デフォルトでは、 をinspect()呼び出すため、同じものを返しますto_s()。ただし、1 つのことを行うためにオーバーライドすることが理にかなっている場合もありますto_s()が、irb からオブジェクトを検査するときは、より詳細な情報を確認したい場合があります。そのため、さまざまなことを行うように設定できます。

于 2012-06-13T00:56:24.010 に答える