Verwendung von Schlüsselwortargumenten oder benannten Parametern in Ruby
Ruby 2.0.0 unterstützt Schlüsselwortargumente (KA) und ich frage mich, welche Vorteile / Anwendungsfälle diese Funktion im Zusammenhang mit reinem Ruby bietet, insbesondere angesichts der Leistungseinbußen aufgrund der Schlüsselwortübereinstimmung, die in jedem Fall erfolgen muss Mal wird eine Methode mit Schlüsselwortargumenten aufgerufen.
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)