【发布时间】:2011-10-27 00:54:24
【问题描述】:
我有一个产生的方法,它看起来像:
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
但是没有更漂亮的方法吗?
【问题讨论】: