method_name(*)是什么意思?

时间:2013-02-27 10:39:42

标签: ruby ruby-on-rails-3

在导轨code中,我遇到了以下方法定义def initialize(*)

我理解def foo(*a)的含义,但无法弄清*之后省略标识符名称的重要性。如何访问传递给此方法的任何参数?

1 个答案:

答案 0 :(得分:3)

这是我的猜测。

它的作用是因为第二行:

def initialize(*)
  super
  ...
end

因此,该方法接收任意数量的参数并将所有参数传递给super(如您所知,super不带参数意味着从原始方法中获取所有参数)。

然后在这种情况下,参数的名称不是必需的。