小编Vla*_*off的帖子

关键字参数在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)
Run Code Online (Sandbox Code Playgroud)

这是编译器优化功能吗?

ruby hash keyword-argument double-splat ruby-2.2

12
推荐指数
1
解决办法
866
查看次数

标签 统计

double-splat ×1

hash ×1

keyword-argument ×1

ruby ×1

ruby-2.2 ×1