Я пытаюсь использовать attr_accessor
внутри класса, где он определен, но безрезультатно. Почему это не работает?Использование attr_accessor изнутри класса?
Я ожидаю, что следующий на выход "нового" в IRB:
irb(main):016:0> foo = StringClass.new
=> #<StringClass:0x2fbf2c0 @thing="old">
irb(main):017:0> foo.output
old
=> nil
irb(main):018:0> foo.change
=> "new"
irb(main):021:0> foo.output
old
=> nil
Вот реализация:
class StringClass
def initialize
@thing = "old"
end
attr_accessor :thing
def output
puts thing
end
def change
thing = "new"
end
end
Я могу видеть, что метод thing=
определен. Я не понимаю, почему этот метод не вызывается, когда я пытаюсь изменить значение.
Спасибо, ты прав, это я это дубликат. Как лучше всего разрешить? –