title: What is the standalone splat operator (*) used for in Ruby?
body: <p>I just came across this example where the splat operator is used by itself in a method definition:</p>
  
  <pre><code>def print_pair(a,b,*)
    puts "#{a} and #{b}"
  end
  
  print_pair(1,2,3,:cake,7)
  #=&gt; 1 and 2
  </code></pre>
  
  <p>It is clear what and why you would use it in a context like so:</p>
  
  <pre><code>def arguments_and_opts(*args, opts)
    puts "arguments: #{args} options: #{opts}"
  end
  
  arguments_and_opts(1,2,3, a: 5)
  #=&gt; arguments: [1, 2, 3] options: {:a=&gt;5}
  </code></pre>
  
  <p>But why and how would you use it in the first example? Since it is defined in the Ruby specs there must be a usecase for it?</p>