-1

我有一组嵌套函数,每个函数都采用任意参数列表:

def foo *args
  bar args
end

def bar *args
  baz args
end

def baz *args
end

使用一组 args 调用 foo,就像:a => :foo, :b => :bar在 splat 之后给我们一个单元素数组:

[{:a => :foo, :b => :bar}]

然后将其传递给嵌套函数,并再次通过 splat,实现了这一点:

[[{:a => :foo, :b => :bar}]]

将 args[0] 传递给嵌套函数是否合适,或者是否有某种我应该使用的反向 splat?

4

1 回答 1

1

如果您想将 splatted 参数传递给另一个函数,只需再次 splat (在方法调用中使用时运算符的行为方式相反(与方法定义相比))

def foo(*args)
  bar *args
end
于 2013-10-04T16:33:14.957 回答