O que é o operador de splat independente (*) usado no Ruby?
Acabei de encontrar este exemplo em que o operador splat é usado por si só em uma definição de método:
def print_pair(a,b,*)
puts "#{a} and #{b}"
end
print_pair(1,2,3,:cake,7)
#=> 1 and 2
Está claro o que e por que você o usaria em um contexto como este:
def arguments_and_opts(*args, opts)
puts "arguments: #{args} options: #{opts}"
end
arguments_and_opts(1,2,3, a: 5)
#=> arguments: [1, 2, 3] options: {:a=>5}
Mas por que e como você o usaria no primeiro exemplo? Como ele está definido nas especificações do Ruby, deve haver um caso de uso para ele?