Ruby 块 - return yield 运行 yield 后的代码
Ruby block - return yield running code after yield
我想returnyield
的输出,还要执行yield
之后的代码,有没有更"right"的方式?:
def myblock
yield_output = yield
puts 'after yield'
yield_output
end
myblock {'my yield'}
# after yield
# => my yield
您可以使用 tap
:
def myblock
yield.tap { puts 'after yield' }
end
myblock { 'my yield' }
# after yield
#=> my yield
我想returnyield
的输出,还要执行yield
之后的代码,有没有更"right"的方式?:
def myblock
yield_output = yield
puts 'after yield'
yield_output
end
myblock {'my yield'}
# after yield
# => my yield
您可以使用 tap
:
def myblock
yield.tap { puts 'after yield' }
end
myblock { 'my yield' }
# after yield
#=> my yield