Junior — Middle
Proqramlaşdırmada bağlama və funksiya arasındakı fərqi izah edin.
sobes.tech Süni İntellekt
AI-dan cavab
Fəaliyyət — müəyyən bir vəzifəni yerinə yetirən və parametrləri qəbul edə bilən və nəticə verə bilən kod blokudur.
Qapanış (closure) — xarici sahədən dəyişənləri ələ keçirən və saxlayan funksiyadır, hətta bu xarici funksiya tamamlandıqdan sonra belə.
Swift-də nümunə:
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
Burada, incrementer bir qapanışdır və total-ın vəziyyətini çağırışlar arasında saxlayır, hətta makeIncrementer artıq tamamlanıb. Adi funksiya belə davranışa malik deyil.