Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
在rails代码中,我遇到了以下方法定义def initialize(*)
def initialize(*)
我明白是什么def foo(*a)意思,但无法弄清楚在 . 之后省略标识符名称的意义*。您如何访问传递给此方法的任何参数?
def foo(*a)
*
这是我的猜测。
它的工作原理是因为第二行:
def initialize(*) super ... end
所以该方法接收任意数量的参数并将它们全部传递给super(如您所知,super没有参数意味着从原始方法中获取所有参数)。
super
然后在这种情况下,不需要参数的名称。