【发布时间】:2016-12-30 17:58:00
【问题描述】:
我正在使用完成处理程序来总结数字。我不明白的是,如果我将代码分成两行,执行次数将从 6 变为 7!为什么?
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)'
【问题讨论】: