Sobes.tech
Junior — Middle

გაამართეთ closure-ის კონცეფცია და როგორ გამოიყენება იგი პროგრამირებაში

sobes.tech AI

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

დახურვა (closure) — ეს ფუნქციაა, რომელიც «მახსოვს» შექმნის გარემო, მათ შორის წვდომა გარეგანი სქემის ცვლადებზე, მიუხედავად იმისა, რომ ეს ტერიტორია უკვე გამოვიდა შესრულების კონტექსტიდან.

პროგრამირებაში, დახურვა გამოიყენება:

  • მდგომარეობის შენახვა ფუნქციის გამოძახებებს შორის გლობალური ცვლადების გამოყენების გარეშე.
  • მონაცემების ინკაფსულაცია და პირადი ცვლადების შექმნა.
  • ფუნქციების შექმნა ნაგულისხმევი პარამეტრებით, რომლებიც ინახავენ მნიშვნელობებს.

მაგალითი Swift (iOS):

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

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

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