0Pricing
Swift Academy · Ders

Üst Düzey İşlevler: map, flatMap, compactMap

Swift'in koleksiyon işlevleriyle dizileri değiştirmeden dönüştürün.

Üst Düzey İşlevler: map, flatMap, compactMap, CoddyKit'te ücretsiz bir Swift Academy dersidir. Bu, 4 dersinin 2. 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 4 dersten oluşur.

Hoş Geldiniz

Üst düzey işlevler başka işlevleri alır veya döndürür. Swift'in koleksiyon kütüphanesi bunlar üzerine kuruludur: `map`, `flatMap`, `compactMap`, `filter`, `reduce`.

map — Her Öğeyi Dönüştürme

```swift let nums = [1,2,3,4] let squared = nums.map { $0 * $0 } // [1,4,9,16] let strs = nums.map(String.init) // ["1","2","3","4"] ```

flatMap — Dönüştürme ve Düzleştirme

```swift let words = ["hello world","foo bar"] let all = words.flatMap { $0.split(separator:" ").map(String.init) } // ["hello","world","foo","bar"] ```

compactMap — Dönüştürme ve Nil Değerlerini Atma

```swift let mixed = ["1","two","3"] let nums = mixed.compactMap { Int($0) } // [1,3] ```

İşlev Referanslarını Geçirme

```swift func double(_ n: Int) -> Int { n * 2 } let result = [1,2,3].map(double) // [2,4,6] ``` İşlev referansları, kapatma sabitleri yerine kullanılabilir.

Üst Düzey İşlevleri Zincirleme

```swift let total = (1...100) .filter { $0 % 2 == 0 } .map { $0 * $0 } .reduce(0, +) // sum of squares of even numbers 1-100 ```

İsteğe Bağlı Değerlerde flatMap

```swift let maybeStr: String? = "42" let maybeInt = maybeStr.flatMap { Int($0) } // Optional(42) let nil2: String? = nil let also = nil2.flatMap { Int($0) } // nil ```

Özel Üst Düzey İşlev

```swift func applyTwice(_ f: (T) -> T, _ value: T) -> T { f(f(value)) } print(applyTwice({ $0 * 2 }, 3)) // 12 ```

HOF Olarak sorted(by:)

```swift let words = ["banana","apple","cherry"] let sorted = words.sorted { $0.count < $1.count } // ["apple","banana","cherry"] ``` `sorted(by:)` bir karşılaştırıcı işlev kabul eder.

Uygulama: Kullanıcı Verilerini İşleme

```swift struct User { var name: String; var score: Int } let users = [User(name:"A",score:80),User(name:"B",score:45),User(name:"C",score:92)] let topNames = users.filter { $0.score >= 80 }.map { $0.name }.sorted() // ["A","C"] ```

Hızlı Kontrol

`compactMap`, normal `map` işlevinin yapmadığı neyi yapar?

Özet

Temel çıkarımlar: • `map` — her öğeyi dönüştürür • `flatMap` — dönüştürür ve iç içe sonuçları düzleştirir • `compactMap` — dönüştürür ve nil değerlerini atar • İşlev referanslarını doğrudan geçirin: `.map(String.init)` • Temiz veri işlem hatları için zincirleyin Sonraki konu: işlev birleştirme ve işlem hatları.

Sıkça Sorulan Sorular

“Üst Düzey İşlevler: map, flatMap, compactMap” dersi ücretsiz mi?

Evet — “Üst Düzey İşlevler: map, flatMap, compactMap” 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 4 dersten oluşur.

“Üst Düzey İşlevler: map, flatMap, compactMap” dersinde ne öğreneceğim?

Swift'in koleksiyon işlevleriyle dizileri değiştirmeden dönüştürü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, 4 dersinin 2. dersidir.

“Üst Düzey İşlevler: map, flatMap, compactMap” 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. Saf İşlevler ve Yan Etkisiz Tasarım
  2. Üst Düzey İşlevler: map, flatMap, compactMap
  3. İşlev Birleştirme ve Veri Akışları
  4. Verimlilik için Tembel Diziler
← Swift Academy Sayfasına Dön