Sobes.tech
Junior — Middle

Тавзеҳ диҳед дар бораи консепсияи бастабандӣ, ки аз доираи назар дар барномасозӣ берун намераванд.

sobes.tech AI

Ҷавоб аз AI

Дар программа, жабдмонӣ (closure) — ин функсияест, ки ба истинодҳо ба тағйирёбандаҳо аз доираи беруна ҳангоми иҷрои он нигоҳ медорад, ҳатто пас аз анҷоми иҷрои он. Консепсияи жабдмонӣ, ки аз доираи беруна набаромадааст, маънои онро дорад, ки жабдмонӣ ба тағйирёбандаҳо дастрасӣ дорад, зеро онҳо то ҳангоми вуҷуд доштани жабдмонӣ нобуд намешаванд.

Масалан, дар Swift:

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

let incrementByFive = makeIncrementer(amount: 5)
print(incrementByFive()) // 5
print(incrementByFive()) // 10

Ин ҷо, жабдмонӣ тағйирёбандаи total-ро нигоҳ медорад, ки одатан пас аз иҷрои makeIncrementer аз доираи беруна мебаромад. Аммо бо кӯмак аз жабдмонӣ, total нигоҳ дошта мешавад ва дар ҳар даъват тағйир меёбад.

Ба ҳамин тариқ, жабдмонӣ имкон медиҳад, ки ҳолат нигоҳ дошта шавад ва бо тағйирёбандаҳои аз доираи беруна кор карда шавад, бидуни хориҷ шудан аз он.