Кажется, что аргументы копируются при использовании оператора 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 был бы гораздо более практичным, интуитивно понятным и удобным в сопровождении.