您可以使用 splat 运算符解构数组。
def foo(arg1, arg2, arg3)
#...Do Stuff...
end
array = ['arg2', 'arg3']
foo('arg1', *array)
但是有没有办法为了选项类型的优点而破坏哈希?
def foo(arg1, opts)
#...Do Stuff with an opts hash...
end
opts = {hash2: 'bar', hash3: 'baz'}
foo('arg1', hash1: 'foo', *opts)
如果不是原生 ruby,Rails 是否添加了类似的东西?
目前我正在做这个大致
foo('arg1', opts.merge(hash1: 'foo'))