概要
クラスからnewしたオブジェクトが戻り値として帰ってきた場合、以下のような表記を見ることが多いと思います。
class Test
end
(ruby) t = Test.new
#<Test:0x000000010c4f4130>
(ruby) t.class
Test
クラス自身の戻り値は、クラス自身が返ってきます
(ruby) Test
Test
クラスからnewしたオブジェクトをto_sすると、Stringクラスのオブジェクトになります。
(ruby) t.to_s
"#<Test:0x000000010c4f4130>"
(ruby) t.to_s.class
String
まとめ
個人的に
#<Test:0x000000010c4f4130>
こういう表記を見た時に「これはnewされたインスタンス自身である」という事を意識できないことがあり、記事を書きました。
単純ではありますが、パッと見た時にこれがなんであるのか、気づけるようになりたいと思います。
ログなどで大量に出力されている時やデバッカーで確かめている際に、これが何なのか即知りたい需要があり書いた