0Pricing
Swift Academy · Ders

Verimlilik için Tembel Diziler

Hesaplamayı ertelemek ve ara diziler oluşturmaktan kaçınmak için .lazy kullanın.

Verimlilik için Tembel Diziler, CoddyKit'te ücretsiz bir Swift Academy dersidir. Bu, 4 dersinin 4. 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

Tembel diziler, sonuçlara ihtiyaç duyulana kadar hesaplamayı erteler; böylece işlemler zincirlenirken ara dizilerin oluşturulmasını önler.

Hemen Değerlendirmenin Sorunu

```swift let result = (1...1_000_000) .filter { $0 % 7 == 0 } // creates array of ~142857 elements .map { $0 * 2 } // creates another 142857-element array .prefix(5) // Wasteful — only 5 elements needed! ```

.lazy Eklemek

```swift let result = (1...1_000_000) .lazy .filter { $0 % 7 == 0 } .map { $0 * 2 } .prefix(5) // Only computes what prefix(5) needs — no intermediate arrays! print(Array(result)) // [14,28,42,56,70] ```

Tembel Koleksiyon Türleri

Bir dizi üzerinde `.lazy` çağırdığınızda Swift, onu saran bir `LazySequence` döndürür: ```swift let lazyArr = [1,2,3].lazy // LazySequence<[Int]> let lazyMap = lazyArr.map { $0*2 } // LazyMapSequence ```

Tembel Değerlendirme Ne Zaman Avantajlıdır

Tembel değerlendirme şu durumlarda avantaj sağlar: • Büyük bir dizinin yalnızca baş kısmına ihtiyaç duyduğunuzda • Kaynak sonsuz olduğunda (özel üreteçler) • Büyük koleksiyonlarda çok sayıda dönüşümü zincirlediğinizde

Sonsuz Diziler

```swift struct Fibonacci: Sequence { func makeIterator() -> some IteratorProtocol { var a = 0, b = 1 return AnyIterator { let next = a; a = b; b = next + b; return next } } } let first10 = Array(Fibonacci().prefix(10)) ```

first(where:) ile Tembel Değerlendirme

```swift let firstEven = (1...Int.max) .lazy .first { $0 % 2 == 0 } // Returns 2 immediately — doesn't iterate the whole range ```

Değerlendirmeyi Zorlama

Tembel bir diziyi somut bir diziye dönüştürmek için Array ile sarın: ```swift let eager = Array((1...100).lazy.filter { $0 % 3 == 0 }.map { $0*2 }) ```

Tembel Değerlendirme Her Zaman Avantajlı Değildir

Küçük koleksiyonlarda tembel değerlendirmenin sarmalayıcı türlerinden kaynaklanan bir ek yükü vardır. Her işlem zincirine `.lazy` uygulamadan önce kıyaslama yapın. Koleksiyon büyük olduğunda ve erken sonlandırmaya ihtiyaç duyduğunuzda kullanın.

Özel Tembel Üreteç

```swift func naturals() -> AnyIterator { var n = 0 return AnyIterator { n += 1; return n } } Array(naturals().prefix(5)) // [1,2,3,4,5] ```

Hızlı Kontrol

Bir koleksiyon zincirinin başına eklenen `.lazy` öneki ne sağlar?

Özet

Temel çıkarımlar: • `.lazy`, map/filter hesaplamalarını tüketilene kadar erteler • Ara dizi bellek ayırmalarını önler • Yalnızca baş kısmına ihtiyaç duyulan büyük diziler için kullanışlıdır • Erken sonlandırma için `prefix`, `first(where:)` ile birleştirin • Gerektiğinde `Array(lazySeq)` ile somutlaştırın Kurs tamamlandı!

Sıkça Sorulan Sorular

“Verimlilik için Tembel Diziler” dersi ücretsiz mi?

Evet — “Verimlilik için Tembel Diziler” 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.

“Verimlilik için Tembel Diziler” dersinde ne öğreneceğim?

Hesaplamayı ertelemek ve ara diziler oluşturmaktan kaçınmak için .lazy kullanı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 4. dersidir.

“Verimlilik için Tembel Diziler” 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