Junior — Middle
Тавзеҳ диҳед, ки чӣ маъно дорад, гирифтани тағйирёбандаҳо дар дохили функсияи пӯшида.
sobes.tech AI
Ҷавоб аз AI
Гирифтани тағйирёбандаҳо дар дохили функсияи пӯшида маъно дорад, ки пӯшида "ба ёд меорад" ва метавонад тағйирёбандаҳоро аз муҳити атрофи он, ки дар он сохта шудааст, истифода барад.
Масалан, агар дар дохили функсия тағйирёбанда эълон карда шавад ва сипас функсияе баргардонида шавад, ки ин тағйирёбандаро истифода мебарад, ин тағйирёбанда "гирифта" мешавад аз ҷониби пӯшида ва арзиши худро ҳатто пас аз баромадан аз функсияи беруна нигоҳ медорад.
Масалан дар Swift:
func makeIncrementer(amount: Int) -> () -> Int {
var total = 0
return {
total += amount
return total
}
}
let incrementByTen = makeIncrementer(amount: 10)
print(incrementByTen()) // 10
print(incrementByTen()) // 20
Ин ҷо, пӯшида тағйирёбандаҳои total ва amount-ро гирифтан ва ҳолати онҳоро байни даъватҳо нигоҳ медорад. Ин имкон медиҳад, ки функсияҳои бо ҳолати дохилӣ сохта шаванд.