我在Ruby 1.9中有一些函数,希望能够实现以下功能的函数:
def foo(**kwargs):
...do stuff...
def bar(**kwargs):
foo(x = 2, y = 3, **kwargs)
因此Ruby拥有opts,但如果我这样做:
def f(opts)
print opts.keys
end
def g(opts)
f(opts, :bar=>3)
end
g(:foo => 1)
我得到:
script:1:in f': 参数个数有误 (需要 1 个参数,实际给出 2 个) (ArgumentError)
from script:6:in g'
from script:9:in <main>'
是否有一种方法可以从 g 中将 opts 传递到 f 中?