Menu
Coddy logo textTech

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, yalnızca bir bölümüne ihtiyaç duyarsın. Swift, aralık operatörleriyle dilimleme kullanarak bir öğe alt kümesini çıkarmayı kolaylaştırır.

Bir dilim elde etmek için alt simge köşeli parantezlerinin içinde bir aralık kullanırsın. En yaygın yaklaşım, başlangıç dizinini içeren ancak bitiş dizinini hariç tutan yarı açık aralık işlecini (..<) 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 dizinlerindeki öğeleri verir, ancak 4 dizinindekini vermez. Bu, tam olarak nerede durmak istediğinizi bildiğinizde kullanışlıdır.

Son dizini dahil etmek istiyorsan kapalı aralık operatörünü (...) kullan:

let letters = ["a", "b", "c", "d", "e"]
let slice = letters[1...3]
print(slice)  // ["b", "c", "d"]

Önemli bir ayrıntı: dilimleme işleminin sonucu normal bir Array değil, bir ArraySlice'tır. 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]
challenge icon

Görev

Kolay
getMiddleElements adında, numbers, start ve end alan ve dizinin başlangıç indeksinden bitiş indeksine kadar olan (bitiş indeksi dahil değil) bir slice'ını döndüren bir işlev yazın.

Dizinin belirtilen bölümünü çıkarmak ve normal bir dizi olarak döndürmek için yarı açık aralık işleci (..<) kullanın.

Parametreler:

  • numbers ([Int]): slice yapılacak dizi
  • start (Int): Başlangıç indeksi (dahil)
  • end (Int): Bitiş indeksi (hariç)

Döndürülen: Başlangıç indeksinden bitiş indeksine kadar (bitiş indeksi dahil değil) öğeleri içeren bir dizi ([Int])

Örnek: numbers değeri [10, 20, 30, 40, 50, 60], start değeri 1 ve end değeri 4 ise işlev [20, 30, 40] döndürmelidir.

Kendin dene

func getMiddleElements(numbers: [Int], start: Int, end: Int) -> [Int] {
    // Kodu buraya yaz
}
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

Kendi başına pratik yap: Swift playground