Junior — Middle
Кадом навъи маълумотро дар бар мегирад пӯшида дар барномасозӣ?
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-ро нигоҳ медорад ва ҳар дафъа, ки онро даъват мекунанд, меафзояд, ҳатто агар функсияи makeIncrementer аллакай анҷом ёфта бошад.
Дармонҳо барои эҷоди функсияҳои бо ҳолат, идоракунии рӯйдодҳо, амалиётҳои асинхронӣ ва ғайра васеъ истифода мешаванд.