将未知数量的参数传递给ruby函数

时间:2012-04-06 22:24:35

标签: ruby syntax

我正在编写一个方法来将另一个方法包装为类的一部分。它需要接受并传递任意数量的参数。

像...一样的东西。

def do(*things)
  old_method(things)
end

除了这不起作用,因为old_method需要作为单独的参数而不是作为数组传递thing数组的内容。

我无法想到在ruby语法中这样做的方法......

2 个答案:

答案 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)