Sayma ve İndeksler
Coddy'nin Swift Journey'sinin Mantık ve Akış bölümünün bir parçası — ders 1 / 56.
Karakter sayısını elde etmek için temel konularda str.count kullandınız. Daha ileriye gitmek, bir Swift String yapısının düz bir bayt dizisi değil, bir Characters dizisi olduğunu anlamak demektir.
let greeting = "Hello"
print(greeting.count) // 5
print(greeting.first!) // "H"
print(greeting.last!) // "o"
print(greeting.isEmpty) // falseBir string'i bir tam sayı ile indeksleyemezsiniz. Belirli bir konumdaki bir karakteri almak için, string'den başlangıcından itibaren bir index ofseti isteyin:
let i = greeting.index(greeting.startIndex, offsetBy: 1)
print(greeting[i]) // "e"first, last ve isEmpty özellikleri günlük araçlardır. İndislere yalnızca belirli bir konuma gerçekten ihtiyacınız olduğunda başvurun.
Görev
BaşlangıçTek bir giriş satırı okuyun. Üç satır yazdırın:
- Girişteki karakter sayısı
- Bir boşlukla ayrılmış ilk ve son karakter, örneğin
HelloiçinH o - İlk ve son karakterler büyük/küçük harf gözetmeksizin aynı harf olduğunda
true, aksi takdirdefalse(örneğinAnna,RadaR)
Girişin en az bir karakter içerdiğini varsayın.
RadaR girişi için çıktı şöyledir:
5
R R
trueKopya kağıdı
Bir Swift String, Karakterler dizisidir. Temel özellikler:
let s = "Hello"
s.count // 5
s.first! // "H"
s.last! // "o"
s.isEmpty // falseBelirli bir konumdaki bir karaktere erişmek için bir dizin ofseti kullanın:
let i = s.index(s.startIndex, offsetBy: 1)
print(s[i]) // "e"Büyük/küçük harf duyarsız karakter karşılaştırması:
s.first!.lowercased() == s.last!.lowercased()Kendin dene
let line = readLine()!
// TODO: sayıyı, ilk/son karakteri ve büyük-küçük harf yoksayarak aynı harf kontrolünü yazdır
Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.
Mantık ve Akış bölümündeki tüm dersler
1Stringler Derinlemesine
Sayma ve İndekslerBüyük-Küçük Harf ve KırpmaStringlerde AramaBölme ve BirleştirmeAlt Stringleri DeğiştirmeÖzet - Kullanıcı Adı Kontrolü4Kümeler
Küme OluşturmaBirleşim ve KesişimFark ve Simetrik FarkAlt Küme ve Üst KümeÖzet - Etiket Filtresi7Proje - Alışkanlık Takibi
Projeye Genel BakışTamamlandı Olarak İşaretle10Proje - Quiz Motoru
Projeye Genel BakışSoruları Sorma2Aralıklar ve Adımlar
Kapalı ve Yarı AçıkStride (Adım)Aralık MetotlarıSwitch İçinde AralıklarÖzet - Takvim Izgarası5Yüksek Mertebeden Fonksiyonlar Bölüm 1
MapFilterReduceMap, filter, reduce zincirlemeÖzet - Kelime İstatistikleri