Этот вопрос помогает понять, как передавать аргументы в методы.
Последовательные аргументы передаются в определённом порядке, а именованные можно передавать в произвольном порядке, используя ключи.
Ruby поддерживает два основных типа аргументов для методов:
Последовательные аргументы:
Передаются строго в указанном порядке.
def greet(first_name, last_name)
"Hello, #{first_name} #{last_name}"
end
puts greet("John", "Doe") # => "Hello, John Doe"Именованные аргументы:
Передаются как пары ключ-значение.
def greet(first_name:, last_name:)
"Hello, #{first_name} #{last_name}"
end
puts greet(last_name: "Doe", first_name: "John") # => "Hello, John Doe"Разница:
Последовательные аргументы более просты, но требуют строгого порядка.
Именованные аргументы обеспечивают гибкость и ясность.
Именованные аргументы удобны для методов с большим количеством параметров, где важно указать, какой параметр чему соответствует.