Passar argumentos por referência a um bloco com o operador splat
Parece que os argumentos são copiados ao usar o operador splat para passar argumentos para um bloco por referência.
Eu tenho isto:
def method
a = [1,2,3]
yield(*a)
p a
end
method {|x,y,z| z = 0}
#=> this puts and returns [1, 2, 3] (didn't modified the third argument)
Como posso passar esses argumentos por referência? Parece funcionar se eu passar a matriz diretamente, mas o operador splat seria muito mais prático, intuitivo e sustentável aqui.