Tag: 关键字参数

关键字参数在Ruby中解包(splat)

下面发生的事情对我来说似乎有点奇怪。 def f(a, b) puts “#{a} :: #{b}” end f(*[1, 2], **{}) # prints “1 :: 2” hash = {} f(*[1, 2], **hash) ArgumentError: wrong number of arguments (3 for 2) f(*[1, 2], **Hash.new) ArgumentError: wrong number of arguments (3 for 2) 这是编译器优化function吗?