Pase argumentos por referencia a un bloque con el operador splat
Parece que los argumentos se copian cuando se usa el operador splat para pasar los argumentos a un bloque por referencia.
Tengo esto:
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)
¿Cómo puedo pasar estos argumentos por referencia? Parece funcionar si paso la matriz directamente, pero el operador de Splat sería mucho más práctico, intuitivo y fácil de mantener aquí.