Por que isso não funciona se em Ruby tudo é um Objeto?
Considerando que na linguagem de programação Ruby tudo é considerado um Objeto, eu assumi com segurança que a passagem de argumentos para métodos é feitapor referênci. No entanto, este pequeno exemplo abaixo me intriga:
$string = "String"
def changer(s)
s = 1
end
changer($string)
puts $string.class
String
=> nil
Como você pode ver, o objeto original não foi modificado, gostaria de saberporqu, e também, como eu poderia realizar o comportamento desejado, isto é. Obtendo o método para realmente alterar o objeto referenciado por seu argument