У меня есть пользовательский класс и вы хотите переопределить оператор присваивания. Вот пример:
class MyArray < Array
attr_accessor :direction
def initialize
@direction = :forward
end
end
class History
def initialize
@strategy = MyArray.new
end
def strategy=(strategy, direction = :forward)
@strategy << strategy
@strategy.direction = direction
end
end
В настоящее время это не работает должным образом. при использовании
h = History.new
h.strategy = :mystrategy, :backward
[:mystrategy, :backward]
присваивается переменной стратегии, а переменная направления остается :forward
.
Важная часть состоит в том, что я хочу иметь возможность назначить стандартное значение параметру направления.
Любые подсказки для выполнения этой работы высоко оценены.