title: What does the * (asterisk) symbol do near a function argument and how to use that in others scenarios?
body: <p>I am using Ruby on Rails 3 and I would like to know what means the presence of a <code>*</code> operator near a function argument and to understand its usages in others scenarios.</p>
  
  <p>Example scenario (this method was from the Ruby on Rails 3 framework):</p>
  
  <pre><code>def find(*args)
    return to_a.find { |*block_args| yield(*block_args) } if block_given?
  
    options = args.extract_options!
  
    if options.present?
      apply_finder_options(options).find(*args)
    else
      case args.first
      when :first, :last, :all
        send(args.first)
      else
        find_with_ids(*args)
      end
    end
  end
  </code></pre>