Creo que me estoy volviendo un poco loco cuando trato de entender las variables de instancia en Ruby. Mi único objetivo aquí es asegurarme de que cada objeto creado para una clase determinada tenga una variable con un valor predeterminado sin escribiendo un método initialize
para esa clase. Algo así como:Inicialización de variable de instancia en Ruby
class Test
@my = []
attr_accessor :my
end
t = Test.new
t.my # I want [] but this shows nil
¿Es posible lograr esto sin tocar initialize
? Gracias.
EDIT: Para aclarar, estoy escribiendo alguna pieza de código que se ejecutará similar a attr_accessor
en el sentido de que va a añadir una variable de instancia de la clase en la que se ejecuta. Si escribo mi propio initialize
, terminaré pegándome al escrito por el usuario.
Consulte la edición. – sasuke
Malo, dije "similar a". Básicamente, este nuevo método, cuando se agrega a cualquier clase, como 'attr_accessor', agregará una nueva variable de instancia a todos los objetos creados para esa clase. – sasuke
Ah, como pensaba, no puedo confiar en 'attr_reader' por defecto para tales atributos. Solo una última pregunta: ¿no hay forma de inicializar variables de instancia como la forma en que se hace para Java, etc. en Ruby? – sasuke