を拡張しており、メソッドBasicObject
を実装したいと考えています。Object#class
次のように戻り値をハードコーディングする以外に、これを行う方法がわかりません。
class MyObject < BasicObject
def class
::Kernel::eval "::MyObject"
end
end
MyObject.new.class
#=> MyObject
このソリューションでは、継承元のクラスは、MyObject
このメソッドを正確に保つために上書きする必要があります。より良い方法はありますか?