Думаю, я немного схожу, когда пытаюсь понять переменные экземпляра в Ruby. Моя единственная цель здесь - убедиться, что каждый объект, созданный для данного класса, имеет переменную с предопределенным значением без, набирая метод initialize
для этого класса. Что-то вроде:Инициализация переменной экземпляра в Ruby
class Test
@my = []
attr_accessor :my
end
t = Test.new
t.my # I want [] but this shows nil
Можно ли достичь этого, не касаясь initialize
? Благодарю.
EDIT: Чтобы уточнить, я пишу какой-то кусок кода, который будет выполняться аналогичен attr_accessor
в том смысле, что она будет добавить переменную экземпляра в классе, в котором она выполняется. Если я напишу свой собственный initialize
, я закончу тем, что вы сбиваете текст, написанный пользователем.
См. Редактирование. – sasuke
Мой плохой, я сказал «похоже на». В принципе, этот новый метод, добавленный в любой класс, например 'attr_accessor', добавит новую переменную экземпляра ко всем объектам, созданным для этого класса. – sasuke
Ах, как я думал, я не могу полагаться на default 'attr_reader' для таких атрибутов. Только один последний вопрос: нет способа инициализировать переменные экземпляра, например, как это делается для Java и т. Д. В Ruby? – sasuke