有没有更好的方法来防止“收益”时,没有通过块?
我有一个方法,产量,看起来像:
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
但是有没有更漂亮的方式?
是! 🙂
def a_method(*params) # ... yield if block_given? # ... end