Dizi Dilimleme Bölüm 1
Coddy'nin Swift Journey'sinin Temeller bölümünün bir parçası — ders 73 / 86.
Bazen bir dizinin tamamına değil, sadece bir kısmına ihtiyaç duyarsınız. Swift, aralık operatörlerini kullanarak array slicing ile bir öğe alt kümesini ayıklamayı kolaylaştırır.
Bir dilim elde etmek için, indis köşeli parantezleri içinde bir aralık kullanırsınız. En yaygın yaklaşım, başlangıç dizinini dahil eden ancak bitiş dizinini hariç tutan yarı açık aralık operatörünü (..<) kullanır:
let numbers = [10, 20, 30, 40, 50]
let slice = numbers[1..<4]
print(slice) // [20, 30, 40]Burada, 1..<4 bize 1, 2 ve 3. indekslerdeki öğeleri verir—ancak 4. indeksi vermez. Bu, tam olarak nerede durmak istediğinizi bildiğinizde kullanışlıdır.
Bitiş dizinini dahil etmek istiyorsanız, kapalı aralık operatörünü (...) kullanın:
let letters = ["a", "b", "c", "d", "e"]
let slice = letters[1...3]
print(slice) // ["b", "c", "d"]Önemli bir detay: dilimleme işleminin sonucu normal bir Array değil, bir ArraySlice'dır. Eğer gerçek bir diziye ihtiyacınız varsa, onu Array() ile sarmalayın:
let original = [1, 2, 3, 4, 5]
let sliced = Array(original[0..<3])
print(sliced) // [1, 2, 3]Görev
Kolaynumbers, start ve end parametrelerini alan ve dizinin başlangıç dizininden bitiş dizinine kadar (bitiş dizini dahil değil) olan bir dilimini döndüren bir getMiddleElements fonksiyonu yazın.
Dizinin belirtilen kısmını çıkarmak ve bunu normal bir dizi olarak döndürmek için yarı açık aralık operatörünü (..<) kullanın.
Parametreler:
numbers([Int]): Dilimlenecek dizistart(Int): Başlangıç dizini (dahil)end(Int): Bitiş dizini (hariç)
Döndürdüğü Değer: Başlangıç dizininden bitiş dizinine kadar (bitiş dizini dahil değil) olan öğeleri içeren bir dizi ([Int])
Örnek: Eğer numbers değeri [10, 20, 30, 40, 50, 60], start değeri 1 ve end değeri 4 ise, fonksiyon [20, 30, 40] döndürmelidir.
Kopya kağıdı
Swift, aralık operatörlerini kullanarak dizi dilimleme (array slicing) yoluyla bir dizinin bir bölümünü çıkarmanıza olanak tanır.
Bir başlangıç dizininden bitiş dizinine kadar (bitiş dizini dahil değil) dilimlemek için yarı açık aralık operatörünü (..<) kullanın:
let numbers = [10, 20, 30, 40, 50]
let slice = numbers[1..<4]
print(slice) // [20, 30, 40]Bitiş dizinini dahil etmek için kapalı aralık operatörünü (...) kullanın:
let letters = ["a", "b", "c", "d", "e"]
let slice = letters[1...3]
print(slice) // ["b", "c", "d"]Dizi dilimleme bir ArraySlice döndürür. Bunu normal bir Array yapısına dönüştürmek için Array() ile sarmalayın:
let original = [1, 2, 3, 4, 5]
let sliced = Array(original[0..<3])
print(sliced) // [1, 2, 3]Kendin dene
func getMiddleElements(numbers: [Int], start: Int, end: Int) -> [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