0Pricing
Swift Academy · Ders

Koleksiyonlarda genel algoritmalar

map , filter ve reduce gibi genel algoritmaları kullanın ve basit kısıtlamalarla Sequence üzerinde kendi işlevlerinizi yazın.

Koleksiyonlarda genel algoritmalar, CoddyKit'te ücretsiz bir Swift Academy dersidir. Bu, 3 dersinin 3. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Swift Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Swift Academy kursu toplamda 3 dersten oluşur.

Jenerik algoritmalar neden kullanılır?

Swift, Sequence ve Collection üzerinde güçlü, jenerik algoritmalar sağlar: map, filter ve reduce. Ayrıca kendi jenerik yardımcılarınızı da yazabilirsiniz.

map

map, her öğeye bir dönüştürme uygular ve yeni bir dizi döndürür.

let nums = [1, 2, 3]
let doubled = nums.map { $0 * 2 }   // [2, 4, 6]
print(doubled)

let words = ["swift", "kit"]
let caps = words.map { $0.uppercased() } // ["SWIFT","KIT"]
print(caps)

filter

filter, bir koşulu karşılayan öğeleri tutar.

let scores = [45, 72, 88, 53]
let passing = scores.filter { $0 >= 60 } // [72, 88]
print(passing)

let names = ["Ana","Li","Max"]
let short = names.filter { $0.count <= 2 } // ["Li"]
print(short)

reduce

reduce, bir başlangıç değeri ve birleştirme kapanışı kullanarak bir diziyi tek bir sonuca indirger.

let sum = [1,2,3,4].reduce(0) { acc, x in acc + x } // 10
print(sum)

let joined = ["a","b","c"].reduce("") { acc, s in acc + s } // "abc"
print(joined)

Özel jenerik (Sequence)

Girdiyi Sequence ile sınırlandırıp onun Element türünü kullanarak kendi jenerik algoritmanızı oluşturun.

// Works for any Sequence whose Element meets the predicate
func allMatch<S: Sequence>(_ seq: S, _ predicate: (S.Element) -> Bool) -> Bool {
    for x in seq { if !predicate(x) { return false } }
    return true
}
print(allMatch([2,4,6]) { $0 % 2 == 0 }) // true
print(allMatch(["ab","c"]) { $0.count >= 2 }) // false

İpuçları ve kalıplar

İpuçları:

  • Anlaşılır kapanışları tercih edin: okunabilirlik azalırsa parametrelere ad verin.
  • İşlem hatları için map → filter → reduce zincirini kurun.
  • Performans için ağır işleri yoğun döngülerin dışında tutun.

reduce anlamı

Hızlı kontrol: Bir başlangıç değeri kullanarak bir diziyi tek bir değerde birleştiren işlem hangisidir?

Özet

Özet: Dönüştürmek için map, seçmek için filter ve birleştirmek için reduce kullanın. Ayrıca Sequence üzerinde kendi jenerik yardımcılarınızı yazabilirsiniz.

Sıkça Sorulan Sorular

“Koleksiyonlarda genel algoritmalar” dersi ücretsiz mi?

Evet — “Koleksiyonlarda genel algoritmalar” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Swift Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Swift Academy kursu toplamda 3 dersten oluşur.

“Koleksiyonlarda genel algoritmalar” dersinde ne öğreneceğim?

map , filter ve reduce gibi genel algoritmaları kullanın ve basit kısıtlamalarla Sequence üzerinde kendi işlevlerinizi yazın. Swift Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.

Swift Academy öğrenmeye başlamak için deneyim gerekli mi?

Önceden deneyim gerekmez. CoddyKit'te Swift Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 3 dersinin 3. dersidir.

“Koleksiyonlarda genel algoritmalar” dersi ne kadar sürer?

Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.

Bu Swift Academy dersinde kod yazıp çalıştırabilir miyim?

Evet. Her Swift Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.

Bu kursun tüm dersleri

  1. Genel işlevler ve türler
  2. Kısıtlamalar (where), tür çıkarımı
  3. Koleksiyonlarda genel algoritmalar
← Swift Academy Sayfasına Dön