我正在编写一个方法来将另一个方法包装为类的一部分。它需要接受并传递任意数量的参数。
像...一样的东西。
def do(*things)
old_method(things)
end
除了这不起作用,因为old_method需要作为单独的参数而不是作为数组传递thing数组的内容。
我无法想到在ruby语法中这样做的方法......
答案 0 :(得分:5)
您可以使用:
def do(*things)
old_method(*things)
end
这是一个splat运算符,例如What does the (unary) * operator do in this Ruby code?或What's the splat doing here?
答案 1 :(得分:1)
获得参数的方式相同,old_method(*things)
。