0
後我要回的yield
輸出也yield
後執行的代碼,有沒有更「正確」的方式?:紅寶石塊 - ,回報率運行代碼產量
def myblock
yield_output = yield
puts 'after yield'
yield_output
end
myblock {'my yield'}
# after yield
# => my yield
後我要回的yield
輸出也yield
後執行的代碼,有沒有更「正確」的方式?:紅寶石塊 - ,回報率運行代碼產量
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
感謝以爲會有更多的東西紅寶石優雅 – joshweir
只是打字...你可以,如果你想獲得一個參數使用括號'(產量5).tap {放「屈服後」}'。 –
@SimpleLime儘管'yield'不是一種方法,我會在括號內加上括號,即'yield(5).tap {...}',但是無論哪種方式都行得通。 – Stefan