Sobes.tech
Junior — Middle

Bir kapanış fonksiyonu içinde değişkenlerin yakalanmasının ne anlama geldiğini açıklayın

sobes.tech yapay zeka

AI'dan gelen yanıt

Bir kapanış fonksiyonu içinde değişkenlerin yakalanması, kapanışın "hatırlaması" ve oluşturulduğu çevresel bağlamdaki değişkenleri kullanabilmesi anlamına gelir.

Örneğin, bir fonksiyon içinde bir değişken tanımlanırsa ve sonra bu değişkeni kullanan bir fonksiyon döndürülürse, bu değişken "yakalanır" ve dış fonksiyondan çıktıktan sonra bile değerini korur.

Swift'te örnek:

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

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

Burada, kapanış total ve amount değişkenlerini yakalar ve çağrılar arasında durumlarını korur. Bu, iç durumlu fonksiyonlar oluşturmayı sağlar.