我有一种方法可以产生如下结果:
def a_method(*params)
# do something
yield
# do something else
end
我希望这个方法在传入块时产生块;如果没有传递任何块,则该方法应该在不崩溃的情况下跳过yield sentense,比如:
no block given (yield) (LocalJumpError)
当然,最直接的方法是将方法更改为:
def a_method(*params, &block)
# do something
yield if block
# do something else
end
但难道没有更漂亮的方式吗?