splat 演算子を使用してブロックに引数を参照渡しすると、引数がコピーされるようです。
私はこれを持っています:
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)
これらの引数を参照渡しするにはどうすればよいですか? 配列を直接渡すとうまくいくようですが、splat 演算子の方がはるかに実用的で、直感的で、保守が容易です。