Übergeben Sie Argumente mit dem splat-Operator als Verweis auf einen Block
Es scheint, dass die Argumente kopiert werden, wenn der splat-Operator verwendet wird, um Argumente als Referenz an einen Block zu übergeben.
Ich habe das:
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)
Wie kann ich diese Argumente als Referenz übergeben? Es scheint zu funktionieren, wenn ich das Array direkt übergebe, aber der splat-Operator wäre hier viel praktischer, intuitiver und wartbarer.