Sobes.tech
Junior

Kaip galima iteruoti per eilutę Swift programavimo kalboje?

sobes.tech AI

Atsakymas iš AI

Iteruoti per eilutę Swift galima keliais būdais:

  1. Po simboliais (Characters):

    let myString = "Hello"
    for character in myString {
        // Apdorojimas atskiro simbolio
        print(character)
    }
    
  2. Po Unicode skaliarais (Unicode Scalars):

    let myString = "Hello"
    for scalar in myString.unicodeScalars {
        // Unicode skaliaro apdorojimas
        print(scalar)
    }
    
  3. Po UTF-8 vaizdais (UTF8View):

    let myString = "Hello"
    for utf8CodeUnit in myString.utf8 {
        // UTF-8 kodų vienetas apdorojimas
        print(utf8CodeUnit)
    }
    
  4. Po UTF-16 vaizdais (UTF16View):

    let myString = "Hello"
    for utf16CodeUnit in myString.utf16 {
        // UTF-16 kodų vienetas apdorojimas
        print(utf16CodeUnit)
    }
    
  5. Pagal indeksus (naudojant String.Index): Šis būdas yra sudėtingesnis, nes simboliai gali turėti skirtingą ilgį atmintyje.

    let myString = "Hello"
    var currentIndex = myString.startIndex
    while currentIndex != myString.endIndex {
        let character = myString[currentIndex]
        // Simbolio apdorojimas pagal indeksą
        print(character)
        currentIndex = myString.index(after: currentIndex)
    }
    

Pasirinktas metodas priklauso nuo užduoties:

  • for character in myString: Iteracija per grafinius klasterius (simbolius) - dažniausiai naudojamas būdas.
  • unicodeScalars ir UTF vaizdai: Naudojami dirbant su žemyn lygio Unicode atvaizdavimu.
  • Iteracija per indeksus: Reikalinga, kai reikia gauti simbolį ar eilutę pagal konkretų indeksą arba dirbti su diapazonais.