Junior
Чӣ гуна метавон дар забони барномасозии Swift ба сатр итерировать кард?
sobes.tech AI
Ҷавоб аз AI
Swiftда сатрда такрорлашнинг бир нечта усуллари мавжуд:
-
Белгилор (Characters) орқали:
let myString = "Hello" for character in myString { // Алоҳида белгини ишлаш print(character) } -
Unicode скалари (Unicode Scalars) орқали:
let myString = "Hello" for scalar in myString.unicodeScalars { // Unicode скалари ишлаш print(scalar) } -
UTF-8 кўринишлари (UTF8View):
let myString = "Hello" for utf8CodeUnit in myString.utf8 { // UTF-8 код бирлиги ишлаш print(utf8CodeUnit) } -
UTF-16 кўринишлари (UTF16View):
let myString = "Hello" for utf16CodeUnit in myString.utf16 { // UTF-16 код бирлиги ишлаш print(utf16CodeUnit) } -
Индекслер (
String.Index) орқали: Бу усул кўпроқ мураккаб, чунки белгилар хотирада турли узунликда бўлиши мумкин.let myString = "Hello" var currentIndex = myString.startIndex while currentIndex != myString.endIndex { let character = myString[currentIndex] // Индекс орқали белгини ишлаш print(character) currentIndex = myString.index(after: currentIndex) }
Тўғри усул танлаш вазифага боғлиқ:
for character in myString: График кластерлар (белгилор) бўйича такрорлаш — энг кўп учрайдиган ҳолат.unicodeScalarsва UTF кўринишлари: Unicodeда пастки даражадаги тасвир билан ишлаш учун қўлланилади.- Индекслер бўйича такрорлаш: Агар сиз аниқ бир индексда белгини ёки кичик матнни олишни хоҳласангиз ёки диапазонлар билан ишлашингиз керак бўлса, қўлланилади.