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