方法定义中的裸体星号作为参数:def f(*)
我知道这是什么意思:
def f(*args) ... end
但这是什么意思,为什么你想要使用它? 它是否也可以与命名参数一起显示?
def f(*) ... end
def f(*)
与def f(*args)
def f(*)
具有相同的效果,只是它没有命名globbed参数数组。 如果你希望函数接受任意数量的参数,但实际上并不需要在函数中引用它们,例如,如果你正在重写一个方法,但是调用super
而不传递一个明确的参数列表,你可以使用它导致原来的参数被传递给super
。
你也可以写def f(a, b, *)
。