У меня есть метод, который дает, который выглядит следующим образом:
def a_method(*params)
# do something
yield
# do something else
end
Я хочу, чтобы этот метод выдает блок, если передается блок;и если блок не передан, метод должен плавно пропустить предложение выхода без сбоев с чем-то вроде:
no block given (yield) (LocalJumpError)
Конечно, самый простой способ - изменить метод на:
def a_method(*params, &block)
# do something
yield if block
# do something else
end
Но разве нет более привлекательных способов?