0

を拡張しており、メソッドBasicObjectを実装したいと考えています。Object#class次のように戻り値をハードコーディングする以外に、これを行う方法がわかりません。

class MyObject < BasicObject
  def class
    ::Kernel::eval "::MyObject"
  end
end

MyObject.new.class
#=> MyObject

このソリューションでは、継承元のクラスは、MyObjectこのメソッドを正確に保つために上書きする必要があります。より良い方法はありますか?

4

3 に答える 3