1
我使用的指標,Scala庫,並不能明白爲什麼下面的兩個電話的行爲完全不同通話時間(()=> {})和時間{}有什麼區別?
// method 1
writeTimer.time(() => {
// expensive operation
})
// method 2
writeTimer.time {
// expensive operation
}
方法1中的情況下,昂貴的操作不會被調用,而在方法2,它是。
writeTimer
是com.yammer.metrics.Timer
,那裏的聲明的time
方法的實例:
/**
* Runs f, recording its duration, and returns the result of f.
*/
def time[A](f: => A): A
我只是解決了我的代碼中的錯誤,我必須使用方法2,以得到它的工作。
OMG,這是輝煌的...感謝您的發現! –