String.newではto_strメソッドが使われる
7月になったのでStringクラスで遊びましょう(意味なしジョーク)。
オブジェクトoを文字列として扱うときにはto_sメソッドを使いますが、String.new(o)で文字列を作るときには、to_strメソッドを使います。
class Rubyco def initialize(s) @s = s end def to_s @s + ' (by to_s)' end def to_str @s + ' (by to_str)' end end o = Rubyco.new('Hello') s = String.new(o) puts o #=> Hello (by to_s) puts s #=> Hello (by to_str)