我正在使用完成處理程序來總結數字。我不明白的是,如果我將代碼分成兩行,執行次數將從6次變爲7次!爲什麼?爲什麼Swift遊樂場顯示錯誤執行次數?
func summer (from : Int, to: Int, handler: (Int) -> (Int)) -> Int {
var sum = 0
for i in from...to {
sum += handler(i)
}
return sum
}
summer(1, to:6){ //Shows '21'
return $0} // shows '(6 times)'
// Same code, but in 1 line
summer(1, to:6){return $0} // shows '(7 times)'
它沒有顯示閉包表達式的數量。它顯示了在閉包中表達的表達式數量^ - ^()除非我誤解了某些東西...... – Fluidity