我有一组嵌套函数,每个函数都有一个任意的参数列表:
def foo *args
bar args
end
def bar *args
baz args
end
def baz *args
end
使用像:a => :foo, :b => :bar
这样的一组args调用foo,在splat之后给我们一个单元素数组:
[{:a => :foo, :b => :bar}]
然后将其传递给嵌套函数,再次通过splat,将其转换为:
[[{:a => :foo, :b => :bar}]]
将args [0]传递给嵌套函数是否合适,或者是否存在我应该使用的某种反向splat?
答案 0 :(得分:1)
如果你想将splatted参数传递给另一个函数,只需再次splat它们(当在方法调用中使用时,操作符的行为方式相反(与方法定义相比))
def foo(*args)
bar *args
end