Menu
Coddy logo textTech

Stringler Üzerinde Yineleme P1

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

Diziler gibi, Swift'teki string'ler de üzerinde döngü kurabileceğiniz karakter dizileridir. Bu, tanıdık for-in döngüsünü kullanarak metni her seferinde bir karakter olacak şekilde işlemeyi kolaylaştırır.

Bir dize (string) üzerinde döngü kurduğunuzda, Swift size her karakteri sırasıyla verir:

let word = "Hello"

for char in word {
    print(char)
}
// H
// e
// l
// l
// o

Döngüdeki her char, String değil, Character tipindedir. Bu ayrım, tekil karakterleri karşılaştırmanız veya işlemeniz gerektiğinde önem kazanır.

Bu tekniği, belirli karakterleri saymak gibi metinleri analiz etmek için kullanabilirsiniz:

let message = "banana"
var countA = 0

for char in message {
    if char == "a" {
        countA += 1
    }
}

print(countA)  // 3

Bir karakteri karşılaştırırken, "a" gibi tırnak içinde tek bir karakter kullandığımıza dikkat edin. Swift, başka bir karakterle karşılaştırırken bunu otomatik olarak bir Character olarak değerlendirir.

challenge icon

Görev

Kolay

text parametresini alan ve dizedeki toplam sesli harf sayısını döndüren bir countVowels fonksiyonu yazın.

Dizedeki her bir karakteri inceleyin ve kaç tanesinin sesli harf (a, e, i, o, u) olduğunu sayın. Hem küçük hem de büyük sesli harfleri sayın.

Parametreler:

  • text (String): Analiz edilecek dize

Döndürür: Dizede bulunan toplam sesli harf sayısı (Int)

Örnek: Eğer text değeri "Hello World" ise, fonksiyon 3 döndürmelidir (sesli harfler e, o, o harfleridir).

Kopya kağıdı

Her bir karakteri işlemek için bir for-in döngüsü kullanarak bir dize üzerinde gezinebilirsiniz:

let word = "Hello"

for char in word {
    print(char)
}
// H
// e
// l
// l
// o

Döngüdeki her bir char, String değil, Character türündedir.

Karakterleri koşullarda doğrudan karşılaştırabilirsiniz:

let message = "banana"
var countA = 0

for char in message {
    if char == "a" {
        countA += 1
    }
}

print(countA)  // 3

Kendin dene

func countVowels(text: String) -> Int {
    // 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