Bye Bye Moore

PoCソルジャーな零細事業主が作業メモを残すブログ

inspectメソッドはオブジェクトを可視化できる文字列として返す

inspectメソッドはオブジェクトを人間が読める形にした文字列として返します。
Ruby2.0系から、to_sに代わりirbの出力で用いられています。

> 0x11.inspect
#=> "17"

ぱっと見to_sのようです。
が、これは全ての基礎となっているObjectクラスに実装されたメソッドであるため
動作が保証されています。
実際、挙動も微妙に違います。inspectのほうが、より誤解をし易い形で返してくれます。

文字列

> "hogehoge'j()'".to_s
#=> "hogehoge'j()'"

> "hogehoge'j()'".inspect
#=> "\"hogehoge'j()'\""

有理数

> Rational(8,9).inspect
#=> "(8/9)"

> Rational(8,9).to_s
#=> "8/9"