伪造Ruby中的类型转换?

鉴于以下Ruby代码,并且鉴于我有一个Klass实例,如何在Klass实例上调用do_stuff方法。 我想将我的Klass实例转换为Subklass。 我理解类型转换这在Ruby中是不可能的 – 有没有办法伪造它?

class Klass ... end class Subklass < Klass ... def do_stuff ... end end inst = Klass.new inst.magically_convert_to_subklass_instance # Need help here inst.do_stuff 

inheritance不起作用。 如果您有Klass实例,则无法以任何方式将其转换为Subklass。 要共享这样的代码,您最好使用模块来定义do_stuff方法,以将模块中的要素附加到Klass中。 即:

 module StuffModule def do_stuff print "do stuff" end end class Klass include StuffModule end inst = Klass.new inst.do_stuff