方法定义中的裸体星号作为参数:def f(*)

我知道这是什么意思:

def f(*args) ... end 

但这是什么意思,为什么你想要使用它? 它是否也可以与命名参数一起显示?

 def f(*) ... end 

def f(*)def f(*args) def f(*)具有相同的效果,只是它没有命名globbed参数数组。 如果你希望函数接受任意数量的参数,但实际上并不需要在函数中引用它们,例如,如果你正在重写一个方法,但是调用super而不传递一个明确的参数列表,你可以使用它导致原来的参数被传递给super

你也可以写def f(a, b, *)