一邊做鍛鍊this頁面的底部,調用塊,事情執行超出了預期的順序
我對解決方案幫助你看到下面:
什麼繼續,雖然是我煩死了第4行。看起來block.call
在puts
甚至開始寫入屏幕之前全部運行。
這只是接受關於Ruby的東西嗎?如果我試圖查看它,我甚至稱這種行爲爲何?
def log(desc, &block)
puts "Beginning #{desc}..."
#block.call seems to be occurring here!
puts "... #{desc} finished, returning: #{block.call}"
end
someLittle = lambda {5}
yetAnother = lambda {'I like Thai food!'}
outer = lambda do
log "some little block", &someLittle
log "yet another block", &yetAnother
false
end
log "outer block", &outer
我沒有得到你的confusion..Is這不是給你預期的輸出?如果是這樣,你的預期產出是什麼,你得到了什麼?告訴這些東西.. –
寫它的方式,我期望它放第2行。然後放第4行,然後運行由block.call調用的所有其他塊。 – dwilbank
取而代之的是第2行,然後跳過第4行的提示,因此它可以運行並放入由block.call引起的所有額外調用,然後纔打印出第4行。 – dwilbank