Скажите, у меня есть метод ruby:
def blah(foo=17)
...
end
В коде я хочу вызвать бла с конкретным аргументом "бла (а)" или вызвать бла с помощью аргумента по умолчанию "бла ()". Есть ли способ сделать это без указания имени метода дважды? Я пытаюсь избежать:
if a.nil?
blah()
else
blah(a)
end
Потому что это делает код более сложным, чем он есть. Лучшее, что я могу придумать (не тестировал):
args=[]
args << a unless a.nil?
a.send :blah, args