我有一個可選的參數,如冗長的列表的方法:如何將散列項映射到方法參數?
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'
我在這裏缺乏什麼?