Junior — Middle
Programlamada dışına çıkmayan kapanış kavramını açıklayın.
sobes.tech yapay zeka
AI'dan gelen yanıt
Programlamada, kapanış (closure), dış alanın referanslarını yakalayan ve saklayan bir fonksiyondur, hatta bu alanın yürütmesi tamamlandıktan sonra bile. Dış alanın dışına çıkmayan kapanışlar kavramı, kapanışın bu değişkenlere erişmeye devam ettiği anlamına gelir, çünkü bunlar kapanış var olduğu sürece yok edilmezler.
Örneğin, Swift'te:
func makeIncrementer(amount: Int) -> () -> Int {
var total = 0
return {
total += amount
return total
}
}
let incrementByFive = makeIncrementer(amount: 5)
print(incrementByFive()) // 5
print(incrementByFive()) // 10
Burada, kapanış total değişkenini saklar, bu değişken normalde makeIncrementer çalıştıktan sonra alan dışına çıkmalıydı. Ama kapanış sayesinde, total korunur ve her çağrıldığında değiştirilir.
Bu şekilde, kapanışlar durumu korumaya ve dış alan değişkenleriyle çalışmaya olanak tanır, alan dışına çıkmadan.