Sobes.tech
Junior — Middle

გაამართლებთ, რა ნიშნავს ცვლადების დაჭერა დახურვის ფუნქციის შიგნით.

sobes.tech AI

პასუხი AI-სგან

შესწორების ჩაჭერა დახურულ ფუნქციაში ნიშნავს, რომ დახურული "მახსოვს" და შეუძლია გამოიყენოს გარემოსგან ცვლადები, სადაც ის შექმნილია.

მაგალითად, თუ ფუნქციის შიგნით გამოაცხადეს ცვლადი და შემდეგ დაბრუნდა ფუნქცია, რომელიც იყენებს ამ ცვლადს, ეს ცვლადი "ჩაჭერილია" დახურულში და ინარჩუნებს თავის მნიშვნელობას, მიუხედავად გარედან ფუნქციიდან გამოსვლის.

Swift-ის მაგალითი:

func makeIncrementer(amount: Int) -> () -> Int {
    var total = 0
    return {
        total += amount
        return total
    }
}

let incrementByTen = makeIncrementer(amount: 10)
print(incrementByTen()) // 10
print(incrementByTen()) // 20

აქ, დახურული იჭერს ცვლადებს total და amount, ინარჩუნებს მათ მდგომარეობას შორის გამოძახილების. ეს საშუალებას აძლევს შექმნას მდგომარეობით ფუნქციები.