Junior — Middle
Kas saaksite rääkida olulistest omadustest, kuidas sulgedeid programmeerimises kasutada?
sobes.tech AI
Vastus AI-lt
Kapsulas (closures) on funktsioonid, mis "mäletavad" konteksti, milles need loodi, sealhulgas juurdepääsu välise ulatuse muutujatele isegi pärast seda, kui see ulatus pole enam aktiivne.
Olulised kapslite omadused:
- võimaldavad säilitada olekut funktsiooni kutsumiste vahel.
- kasutatakse privaatsete muutujate ja kapseldumise loomiseks.
- sageli kasutatakse asünkroonses programmeerimises ja sündmuste töötlejates.
Näide Swiftis:
func makeIncrementer(amount: Int) -> () -> Int {
var total = 0
return {
total += amount
return total
}
}
let incrementByTen = makeIncrementer(amount: 10)
print(incrementByTen()) // 10
print(incrementByTen()) // 20
Siin kapsel säilitab muutuja total väärtuse kutsumiste vahel, võimaldades koguda väärtust.