Голая звездочка в качестве параметра в определении метода: def f (*)
Я знаю, что это значит:
def f(*args)
...
end
Но что это значит и почему вы хотите его использовать? Может ли он отображаться и с именованными параметрами?
def f(*)
...
end
Ответ 1
def f(*) имеет тот же эффект, что и def f(*args), за исключением того, что он не называет массив аргументов globbed. Вы можете использовать его, если хотите, чтобы функция принимала любое количество аргументов, но на самом деле не нужно ссылаться на них внутри функции - например, если вы переопределяете метод, но вызываете super, не передавая явный список аргументов, в результате чего исходные аргументы передаются на super.