0417デフォルトの名無しさん (ワッチョイ 822c-oZrO [219.162.237.2])
2019/06/14(金) 02:33:03.12ID:gXbRy3uY0Ruby で説明すると、"〜" 内で、#{ a } のように、オブジェクトを入れると、
そのオブジェクトを文字列化しようとして、Object.to_s が呼ばれる
その際、自分で作ったカスタムクラスでは、デフォルトでは、
<A:0x0000000002bf5c78> のように、訳の分からない文字列が表示されるので、
自クラスで、Object.to_s を上書きして、好きな文字列に変える事ができる
class A
end
a = A.new
puts "#{ a }"
#=> <A:0x0000000002bf5c78>
class A
def to_s
"インスタンスです!" # 上書きする
end
end
b = A.new
puts "#{ b }"
#=> インスタンスです!