Я пытаюсь написать функцию, которая принимает строку и принимает нужные индексы и шифрует строку:назначения строк не работает должным образом
def scramble_string(string, positions)
temp = string
for i in 0..(string.length-1)
temp[i] = string[positions[i]]
end
puts(string)
return temp
end
Когда я вызываю выше методику, «строка», изменяются, который вы увидите на выходе puts
.
Почему это происходит, так как я не положил string
в левую часть уравнения, которое я бы не ожидал, что он будет изменен.
[Возможный дубликат] (http://stackoverflow.com/questions/1465569/ruby-how-can-i-copy-a-variable-without-pointing-to-the-same-object) – rdupz
Когда вы спрашиваете, пожалуйста, укажите пример ввода и ваш ожидаемый результат. См. «[Mcve]». –
Хотя это не дубликат, http://stackoverflow.com/a/1872159/128421 объяснит, что происходит очень красиво. –