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, бехатар
Бинобар ин, оператори стандартӣ ҳимоя намекунад, ва таҳиягар бояд худи ҳадҳоро назорат кунад.