3

在rails代码中,我遇到了以下方法定义def initialize(*)

我明白是什么def foo(*a)意思,但无法弄清楚在 . 之后省略标识符名称的意义*。您如何访问传递给此方法的任何参数?

4

1 回答 1

3

这是我的猜测。

它的工作原理是因为第二行:

def initialize(*)
  super
  ...
end

所以该方法接收任意数量的参数并将它们全部传递给super(如您所知,super没有参数意味着从原始方法中获取所有参数)。

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

于 2013-02-27T10:50:17.030 回答