Я сталкиваюсь со следующим неожиданным поведением при выполнении следующего l oop:
outside_var = 'myString'
loop do
inside_var ||= outside_var
result = SomeCalculation.do_something(inside_var)
inside_var = result[:new_inside_var_value]
end
Теперь на первой итерации inside_var
устанавливается в outside_var
, что является ожидаемым поведением. Непосредственно перед следующей итерацией я установил inside_var
на что-то другое (в зависимости от результата, полученного в результате вычисления внутри l oop). Это назначение работает (печать inside_var
в самом низу l oop подтверждает это). На следующей итерации, однако, inside
var возвращается в исходное состояние, чего я не ожидал. Почему это происходит, и как я могу установить эту переменную внутри этого l oop?
Я использую Ruby 2.6.5 с Rails 6.