¿Es posible cambiar la clase de un objeto de Rubí, una vez que se ha creado una instancia, algo así como:¿Es posible cambiar la clase de un objeto Ruby?
class A
end
class B
end
a = A.new
a.class = B
o similar.
(el código anterior no se ejecuta como clase es una única variable de lectura)
Sé que esto no es recomendable, un poco extraño, y no es algo que planeo hacer, pero ¿es posible?
¿por qué quieres hacer eso? (Recuerde [faq]: "Solo debe formular preguntas prácticas y que respondan ** en función de los problemas reales a los que se enfrenta **") – Mat
¿Qué espera que suceda? ¿Entonces a tiene todos los métodos de la clase B? Porque entonces 'a = B.new' haría eso. –
Solía ser posible: http://www.oreillynet.com/ruby/blog/2007/04/ruby_code_that_will_swallow_yo.html –