Когда использовать аргументы ключевых слов или именованные параметры в Ruby

Ruby 2.0.0 поддерживает аргументы ключевых слов (KA), и мне интересно, каковы преимущества / варианты использования этой функции в контексте чистого Ruby, особенно если смотреть в свете снижения производительности из-за соответствия ключевых слов, которое необходимо выполнять каждый раз время вызывается метод с аргументами ключевых слов.

require 'benchmark'

def foo(a:1,b:2,c:3)
  [a,b,c]
end

def bar(a,b,c)
  [a,b,c]
end

number = 1000000
Benchmark.bm(4) do |bm|
  bm.report("foo") { number.times { foo(a:7,b:8,c:9)  } }
  bm.report("bar") { number.times { bar(7,8,9) } }
end

#           user     system      total        real
# foo    2.797000   0.032000   2.829000 (  2.906362)
# bar    0.234000   0.000000   0.234000 (  0.250010)

Ответы на вопрос(4)

Ваш ответ на вопрос