Это не имеет смысла.Вы используете метод инициализации для установки значений по умолчанию.
class MyClass
attr_accessor :temp
def initialize
@temp = "initial value"
end
end
Метод инициализации автоматически запускается для вас при создании нового объекта.Когда выполняется объявление класса, экземпляров класса еще нет и быть не может.
Если вы хотите изменить значения по умолчанию позже, вы можете сделать что-то вроде этого:
class MyClass
attr_accessor :temp
@@default_temp = "initial value"
def initialize
@temp = @@default_temp
end
def self.update_temp_default value
@@default_temp = value
end
end
a = MyClass.new
puts a.temp
MyClass.update_temp_default "hej"
b = MyClass.new
puts b.temp
print
initial value
hej
Если вы также хотите изменить переменные уже созданных экземпляров, вам понадобится дополнительная магия.Пожалуйста, объясните, что именно вы хотите достичь.Вы, вероятно, делаете это неправильно:)