Menu
Coddy logo textTech

Stringler Üzerinde Yineleme P2

Coddy'nin Swift Journey'sinin Temeller bölümünün bir parçası — ders 72 / 86.

Dizilerle hem indeksi hem de öğeyi almak için enumerated() yöntemini kullandığımız gibi, aynısını dizelerle de yapabiliriz. Bu, yineleme yaparken her bir karakterin konumunu bilmeniz gerektiğinde kullanışlıdır.

let word = "Swift"

for (index, char) in word.enumerated() {
    print("\(index): \(char)")
}
// 0: S
// 1: w
// 2: i
// 3: f
// 4: t

Bu teknik, karakter konumlarına dayalı yeni dizeler oluştururken yardımcı olur. Örneğin, yalnızca çift dizinlerdeki karakterleri tutmak isteyebilirsiniz:

let text = "abcdef"
var result = ""

for (index, char) in text.enumerated() {
    if index % 2 == 0 {
        result += String(char)
    }
}

print(result)  // ace

Eklemeden önce char değerini String(char) kullanarak bir String türüne dönüştürdüğümüze dikkat edin. Bu gereklidir çünkü result bir String türündedir ve += operatörünü kullanarak ona doğrudan bir Character ekleyemezsiniz.

challenge icon

Görev

Kolay

text alan ve yalnızca tek dizinlerdeki karakterleri içeren yeni bir dize döndüren bir extractOddIndexChars fonksiyonu yazın.

Dize boyunca yineleme yapmak ve dizinin tek olduğu (1, 3, 5 vb.) karakterleri içeren bir sonuç oluşturmak için enumerated() kullanın.

Parametreler:

  • text (String): İşlenecek giriş dizesi

Döndürür: Yalnızca tek dizinlerdeki karakterleri içeren bir dize (String)

Örnek: Eğer text "abcdefg" ise, fonksiyon "bdf" (1, 3 ve 5. dizinlerdeki karakterler) döndürmelidir.

Kopya kağıdı

Yineleme yaparken hem indeksi hem de karakteri elde etmek için dizelerle enumerated() kullanın:

let word = "Swift"

for (index, char) in word.enumerated() {
    print("\(index): \(char)")
}
// 0: S
// 1: w
// 2: i
// 3: f
// 4: t

Karakter konumlarına göre dizeler oluştururken, ekleme yapmadan önce Character türünü String türüne dönüştürün:

let text = "abcdef"
var result = ""

for (index, char) in text.enumerated() {
    if index % 2 == 0 {
        result += String(char)
    }
}

print(result)  // ace

+= ile ekleme yaparken bir Character değerini String değerine dönüştürmek için String(char) kullanın.

Kendin dene

func extractOddIndexChars(text: String) -> String {
    // Kodu buraya yazın
}
quiz iconKendini test et

Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.

Temeller bölümündeki tüm dersler