鉴于bar = {c: 3, d: 4}
,您如何使用bar
以此格式提供代码:
foo(a: 1, b: 2, some_code_here)
表达以下内容?
foo(a: 1, b: 2, c: 3, d: 4)
您可以展开数组:
a = [1, 2, 3]
[*a, 4] # => [1, 2, 3, 4]
你如何用哈希做到这一点?我试过这个:
a = {i: 1, j: 2, k: 3}
{*a, l: 4} # => error
答案 0 :(得分:4)
使用双splat(**
):
a = {i: 1, j: 2, k: 3}
{**a, l: 4} # => {i: 1, j: 2, k: 3, l: 4}
Ruby devs:为什么不使用未使用的常规splat?
答案 1 :(得分:1)
a = {i: 1, j: 2, k: 3}
a.merge(l: 4) #=> {:i=>1, :j=>2, :k=>3, :l=>4}