我有一个可选的参数,如冗长的列表的方法:如何将散列项映射到方法参数?
def foo(foo = nil, bar = nil, baz = nil, qux = nil)
# no-op
end
我认为调用该方法,并通过分割哈希作为参数,将通过匹配与键映射的哈希项目参数该方法的参数:
params = { bar: 'bar', foo: 'foo' }
foo(*params)
不幸的是,当我调用该方法有分流散后检查局部变量,我得到的,如果我在拆分阵列过去了,我期望到底是什么,但它不是我是什么希望:
foo == [:bar, 'bar'] # hoped: foo == 'foo'
bar == [:foo, 'foo'] # hoped: bar == 'bar'
我在这里缺乏什么?