Dizeler Ü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: tBu 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) // aceEklemeden ö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.
Görev
Kolaytext 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.
Kendin dene
func extractOddIndexChars(text: String) -> String {
// 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 OperatörüBileşik AtamaTekrar - Basit MatematikKarşılaştırma Operatörleri7Temel Girdi/Çıktı
Print FonksiyonuDize EnterpolasyonuReadLine ile GirdiTür DönüşümüTekrar - 120'ye KadarTekrar - Doğru mu Yanlış mı10Fonksiyonlar
Fonksiyon TanımlamaParametreler ve ArgümanlarDönüş DeğerleriArgüman EtiketleriTekrar - Sigma FonksiyonuTekrar - Doğrulama FonksiyonuVarsayılan Değerler13Diziler Üzerinde Yineleme
Öğeler Üzerinde YinelemeEnumerate YöntemiDizeler Üzerinde Yineleme P1Dizeler Üzerinde Yineleme P22Değişkenler
Let ve VarTür AnotasyonlarıSayılarStringBooleanAdlandırma KurallarıTekrar - Değişkenleri Başlat5Operatörler Bölüm 2
Mantıksal Operatörler Bölüm 1Mantıksal Operatörler Bölüm 2Tekrar - Basit MantıkMantıksal Operatörler Bölüm 3Üçlü Operatör8Hesap Bölüştürme Hesaplayıcısı
Karşılama MesajıGirdi Alma11FizzBuzz'a Farklı Bir Yorum
Oyuna Genel BakışFizzBuzz Fonksiyonu3Optional Değerler
Optional Değerler NedirIf Let ile AçmaGuard LetNil Birleştirme OperatörüTekrar - Güvenli Açma9Döngüler
For-In DöngüsüWhile DöngüsüRepeat-While DöngüsüBreakContinueTekrar - FaktöriyelDöngülerde Aralıklarİç İçe DöngüTekrar - Dinamik GirdiKendi başına pratik yap: Swift playground