Sobes.tech
Junior — Middle

Оператори дастрасӣ ба унсурҳои массивро истифода бурдан муҳофизат аз берун баромадан аз ҳадҳоро таъмин мекунад?

sobes.tech AI

Ҷавоб аз AI

Дар Swift, оператори дастрасӣ ба унсурҳои массив (масалан, array[index]) ҳимояи зидди аз ҳад зиёд баромаданро таъмин намекунад. Агар индекс аз ҳадҳои массив гузарад, барнома дар вақти иҷро хато мекунад ва ба таври ногаҳонӣ мебандад.

Барои дастрасии бехатар, метавон методҳоро истифода бурд, ки арзиши опсионалро бармегардонанд, масалан, васеъкунии бо санҷиши индекс:

extension Array {
    func safeGet(index: Int) -> Element? {
        return indices.contains(index) ? self[index] : nil
    }
}

ҳангоми arr = [1, 2, 3]
print(arr.safeGet(index: 5)) // nil, бехатар

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