Способ изменить способ как-то модифицирует массив @x вместо простого создания другого элемента, который будет вытолкнут позже. Как так?Неожиданное поведение массива
def modify i, s
t = @x[-1]
t[i] = t[i] + s
t
end
@x = [ [10, 12] ]
@x << modify(0, 1)
puts @x
Edited Следующий код сделал трюк. Еще мне интересно, если его можно избавиться от р-аргумента
def modify p, i, s
a = p.to_a
a[i] += s*@delta[i]
Vector.elements(a)
end
Можете ли вы уточнить, что вы пытаетесь достичь здесь. Что вы хотите, чтобы этот метод выполнялся? Кроме того, почему вы ссылаетесь на конкретную переменную экземпляра ('@ x') в методе, а не, скажем, на' self'? – Telemachus
ясно, почему этот метод изменяет всю @x. непонятно, чего вы пытаетесь достичь. Каково применение этого? можете ли вы подробно остановиться на контексте? – avguchenko
Я пытаюсь изменить общий вектор (@x [-1]), а затем нажать модифицированную версию в массив @x. – gmile