Próbuję zainicjować singleton w ruby. Oto kod:inicjowanie 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
Problem polega na tym, że inicjalizacja nigdy nie jest wywoływana, a tym samym singleton nigdy się nie inicjuje. Próbowałem nazywać metodę init initialize, self.initialize, new i self.new. Nic nie działało. „Jestem inicjowany” nigdy nie została wydrukowana, a zmienna nigdy inicjowany kiedy tworzony z
my_var = MyClass.instance
Jak mogę skonfigurować Singleton tak że zostaje zainicjowana? Pomoc docenione,
Pachun
Dobrze wiedzieć, ale mało istotne –
@sardaukar Jak to jest nieistotne? To powinna być zaakceptowana odpowiedź. –
@RyanRomanchuk RubyMotion to bardzo różne środowisko uruchomieniowe do MRI. Dlatego powiedziałem, że to nie jest tak istotne jak odpowiedź na pytanie o Ruby. Ans także - ta konkretna odpowiedź dotyczy tylko systemu Mac OS X. Dobrze? –