Sobes.tech
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-ро гирифтан ва ҳолати онҳоро байни даъватҳо нигоҳ медорад. Ин имкон медиҳад, ки функсияҳои бо ҳолати дохилӣ сохта шаванд.