よくわからんのだが,Integerクラスのインスタンスに対して#to_fするとFloatクラスのインスタンスになるわけだよな
それってつまり以下のサンプルみたいなことやってるのかな.
class ABC
def cde
return CDE.new
end
end

class CDE < ABC
end

hoge = ABC.new
p hoge
hoge = hoge.cde
p hoge

ただひとつ疑問が残る.Integerクラスのインスタンスであるfooに#to_fするとobject_idも変わるし,
foo = foo.to_f
と書く必要も無いのにちゃんとFloatクラスのインスタンスになっている.これってどういう仕組み?