2017-08-03 43 views

回答

4

您可以使用tap

def myblock 
    yield.tap { puts 'after yield' } 
end 

myblock { 'my yield' } 
# after yield 
#=> my yield 
+0

感謝以爲會有更多的東西紅寶石優雅 – joshweir

+1

只是打字...你可以,如果你想獲得一個參數使用括號'(產量5).tap {放「屈服後」}'。 –

+1

@SimpleLime儘管'yield'不是一種方法,我會在括號內加上括號,即'yield(5).tap {...}',但是無論哪種方式都行得通。 – Stefan