to_s
でもto_str
も、二重引用符で囲まれた文字列補間の中でオブジェクトが参照されたときに呼び出されるように見えます。たとえば:Rubyのデフォルトの文字列補間動作をメソッドでオーバーライドする方法はありますか?
# UPDATE: This example actually works as expected. See update below.
class Foo
def to_s
'foo'
end
def to_str
to_s
end
end
"#{Foo.new}" # result: "#<Foo:0x007fb115c512a0>"
私は、戻り値"foo"
を作るために何ができる何かがあると仮定しないのですか?
UPDATE
謝罪、しかし、このコードは実際に動作します。別のコードを間違える
それは誤報に基づいていたにもかかわらず、質問自体がto_s' 'を知らない人たちにいくつかの良い値を提供しません。だから...よくやった! :) – Phrogz