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 ცვლადს, რაც საშუალებას აძლევს მდგომარეობის შენახვას გამოძახებებს შორის.