Я экспериментировал в Playground с примером из документации Swift относительно замыканий - я добавил операторы печати внутри функции инкремента и непосредственно перед возвратом к функции makeIncrementer.
func makeIncrementer(forIncrement amount: Int) -> () -> Int {
var runningTotal = 0
func incrementer() -> Int {
print("something")
runningTotal += amount
return runningTotal
}
print("running total is: \(runningTotal)")
return incrementer
}
let incrementByTen = makeIncrementer(forIncrement: 10)
incrementByTen()
incrementByTen()
incrementByTen()
incrementByTen()
incrementByTen()
incrementByTen()
при запускекод, который я получаю:
running total is: 0
something
something
something
something
something
something
Почему не выполняется печать «Итоговая сумма:» каждый раз, когда я вызываю incrementByTen ()?- спасибо