我知道这意味着什么:
def f(*args)
...
end
但是这意味着什么,为什么要使用它呢?它也可以出现在命名参数中吗?
def f(*)
...
end
答案 0 :(得分:37)
def f(*)
与def f(*args)
具有相同的效果,除了它没有命名globbed参数数组。如果您希望函数接受任意数量的参数但实际上不需要在函数中引用它们,您可以使用它 - 例如,如果您重写方法但调用super
而不传递显式参数列表,导致原始参数传递给super
。
你也可以写def f(a, b, *)
。