Estoy tratando de inicializar un singleton en ruby. Aquí hay un código:inicializando ruby singleton
class MyClass
attr_accessor :var_i_want_to_init
# singleton
@@instance = MyClass.new
def self.instance
@@instance
end
def initialize # tried 1. initialize, 2. new, 3. self.initialize, 4. self.new
puts "I'm being initialized!"
@var_i_want_to_init = 2
end
end
El problema es que nunca se invoca initialize y, por lo tanto, el singleton nunca se inicializa. Intenté nombrar el método init initialize, self.initialize, new y self.new. Nada funcionó. "Estoy siendo iniciada" no llegó a imprimirse y la variable nunca se inicializa cuando crea una instancia con
my_var = MyClass.instance
¿Cómo puedo configurar el Singleton para que llegue inicializado? Ayuda apreciada,
Pachun
Es bueno saberlo, pero apenas relevante –
@sardaukar ¿Cómo es esto no relevante? Esta debería ser la respuesta aceptada. –
@RyanRomanchuk RubyMotion es un tiempo de ejecución muy diferente a MRI. Es por eso que dije que no es realmente relevante como respuesta a una pregunta de Ruby. Respuestas también: esta respuesta en particular solo es Mac OS X. ¿Derecha? –