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
// oDö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) // 3Bir 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.
Görev
Kolaytext 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
// oDö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) // 3Kendin dene
func countVowels(text: String) -> Int {
// Kodu buraya yazın
}
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
4Operatörler Bölüm 1
Aritmetik OperatörlerModül OperatörüBileşik AtamaÖzet - Basit MatematikKarşılaştırma Operatörleri7Temel Giriş/Çıkış
Print FonksiyonuString InterpolationReadLine GirişiTür DönüşümüÖzet - 120'ye KadarÖzet - Doğru veya Yanlış10Fonksiyonlar
Fonksiyon TanımlamaParametreler ve ArgümanlarDönüş DeğerleriArgüman EtiketleriÖzet - Sigma FonksiyonuÖzet - Doğrulama FonksiyonuVarsayılan Değerler13Diziler Üzerinde Yineleme
Elemanlar Üzerinde YinelemeEnumerate MetoduStringler Üzerinde Yineleme P1Stringler Üzerinde Yineleme P22Değişkenler
Let vs VarTip BelirteçleriSayılarStringBooleanİsimlendirme KurallarıÖzet - Değişkenleri Başlatma5Operatörler Bölüm 2
Mantıksal Operatörler Bölüm 1Mantıksal Operatörler Bölüm 2Özet - Basit MantıkMantıksal Operatörler Bölüm 3Ternary Operatör8Hesap Paylaşım Hesaplayıcısı
Hoş Geldiniz MesajıGirdi Alma14İleri Seviye Diziler
Dizi Dilimleme Bölüm 1Dizi Dilimleme Bölüm 2Sıralı Yapı OperatörleriContains Metodu3Opsiyoneller
Opsiyoneller NedirIf Let ile UnwrappingGuard LetNil Coalescing OperatörüÖzet - Güvenli Unwrapping6Karar Yapıları
If İfadesiIf - ElseÖzet - Basit Hesap MakinesiSwitch İfadesiAralıklı Switch Kullanımı9Döngüler
For-In DöngüsüWhile DöngüsüRepeat-While DöngüsüBreakContinueÖzet - FaktöriyelDöngülerde Aralıklarİç İçe DöngülerÖzet - Dinamik Girdi