カスタム クラスのインスタンスに、何かを返す特定のメソッドが呼び出されない限り、そのスーパークラスと同じメソッドと動作を持たせたい (たとえばnext、次Numericのシーケンスを返す)。この場合、 のように動作する必要がありStringます。
class MyNumber < Numeric
...
end
val = MyNumber.new(1)
# acts like a regular Numeric
val.next
#=> 2
val
#=> "Hello 2!"
puts "Hey #{val}"
#=> "Hey Hello 2!"
上記の状況では、 を再定義するだけだと思いto_sます。