Sobes.tech
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.