Junior — Middle
Термини Mutating дар контексти барномасозӣ чӣ маъно дорад?
sobes.tech AI
Ҷавоб аз AI
Дар программабарӣ, мафҳуми "mutating" (тағйирёбанда) ба амалҳо ё усулҳое ишора мекунад, ки пас аз даъват онҳо ҳолати объектро тағйир медиҳанд. Дар контексти iOS ва Swift, усулҳои mutating онҳое мебошанд, ки метавонанд хосиятҳои сохтор ё enumeration-ро тағйир диҳанд.
Дар Swift, сохторҳо ва enumeration-ҳо ба таври пешфарз намудҳои арзишӣ (value types) мебошанд, бинобар ин, барои он ки усул тавонад хосиятҳои намунаи онро тағйир диҳад, бояд бо калимаи калидии mutating ишора карда шавад.
Масалан:
struct Point {
var x: Int
var y: Int
mutating func moveBy(dx: Int, dy: Int) {
x += dx
y += dy
}
}
var p = Point(x: 0, y: 0)
p.moveBy(dx: 5, dy: 3) // ҳоло p.x == 5, p.y == 3
Бинобар ин, усулҳои mutating имкон медиҳанд, ки хосиятҳои намудҳои арзиширо тағйир додан, ки бидуни ин калимаи калидӣ ғайриимкон буд.