Я использую Ruby on Rails 3, и я хотел бы знать, что означает наличие оператора *
рядом с аргументом функции и для понимания его использования в других сценариях.
Пример сценария (этот метод был из структуры Ruby on Rails 3):
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