所以我在 Ruby 1.9 中有一些函数,在这些函数中执行与此等效的函数会非常非常好:
def foo(**kwargs):
...do stuff...
def bar(**kwargs):
foo(x = 2, y = 3, **kwargs)
所以Ruby有选择,但如果我这样做:
def f(opts)
print opts.keys
end
def g(opts)
f(opts, :bar=>3)
end
g(:foo => 1)
我得到:
script:1:in f': wrong number of arguments (2 for 1) (ArgumentError)
from script:6:in g'
from script:9:in <main>'
有没有办法将选择从 g 传递到 f?