Учитывая, что в языке программирования Ruby все называется объектом, я Предполагается, что передача аргументов методам осуществляется по ссылке . Однако этот небольшой пример ниже меня озадачивает:
$string = "String"
def changer(s)
s = 1
end
changer($string)
puts $string.class
String
=> nil
Как вы можете видеть, исходный Объект не был изменен, я хочу знать , почему , а также, как я могу добиться желаемого поведения, т.е. Получение от метода фактического изменения объекта, на который ссылается его аргумент.