【发布时间】:2016-10-16 18:43:30
【问题描述】:
typealias IntMaker = (Void)->Int
func makeCounter() ->IntMaker{
var n = 0 // Line A
func adder()->Integer{
n = n + 1
return n
}
return adder
}
let counter1 = makeCounter()
counter1() // returns 1
counter1() // returns 2
counter1() // returns 3
不是每次调用counter1() 时都会调用“A 行”吗?意味着每次都应该调用var n = 0...
为什么计数器返回不同的值?他们不应该总是返回“1”吗?
【问题讨论】:
标签: swift closures nested-function