Dart Academy · Ders

Akışları Dönüştürme: map, where, take

Bir olay dizisini yeniden şekillendirme

3. ders / 413 adım

Akışları Dönüştürme: map, where, take, CoddyKit'te ücretsiz bir Dart Academy dersidir. Bu, 4 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, Dart Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Dart Academy kursu toplamda 4 dersten oluşur.

Akışlar Dönüştürülebilir

Listeler gibi akışların da olaylarını yeniden şekillendiren kullanışlı yöntemleri vardır. Kaynağa dokunmadan bir akışı yeni bir akışa transform edebilirsiniz.

map Her Olayı Dönüştürür

map yöntemi her olay üzerinde bir işlev çalıştırır ve sonucu gönderir. Değerlerden oluşan bir akışı dönüştürülmüş değerlerden oluşan yeni bir akışa çevirir.

final doubled = numbers.map((n) => n * 2);

map Sayıyı Korur

map kullanıldığında olay sayısı aynı kalır; yalnızca biçimleri değişir. Üç girdi her zaman tam olarak üç çıktı üretir. ✨

Stream.fromIterable([1, 2, 3])
    .map((n) => 'Item $n');

where Olayları Filtreler

where yöntemi yalnızca bir testi geçen olayları tutar. false döndüren her şey yeni akıştan çıkarılır.

final evens = numbers.where((n) => n.isEven);

where Akışı Küçültebilir

map'in aksine where, aldığı olaylardan daha azını gönderebilir. Hiçbir olay testi geçmezse ortaya çıkan akış boş kalır.

take Sayıyı Sınırlar

take yöntemi yalnızca ilk n olayı gönderir, ardından dinlemeyi durdurur. Uzun bir akıştan yalnızca birkaç değere ihtiyacınız olduğunda idealdir. 🎯

final firstThree = bigStream.take(3);

take Erken İptal Eder

n olayını gönderdikten sonra take, kaynak akışa olan aboneliğini otomatik olarak iptal eder. Özgün akış sizin için üretmeyi bırakır.

Dönüşümleri Zincirleme

Bu yöntemler yeni akışlar döndürdüğünden onları chain edebilirsiniz. Zinciri soldan sağa okuyun: filtrele, sonra dönüştür, ardından sınırla.

numbers
    .where((n) => n.isEven)
    .map((n) => n * 10)
    .take(2);

Doğası Gereği Tembel

Dönüşümler lazy çalışır: siz dinleyene kadar hiçbir şey yürütülmez. Zincir, olayları geldikçe teker teker işler.

Diğer Araçlar: takeWhile ve skip

Temel üç yöntemin yanı sıra takeWhile bir test başarısız olana kadar olay gönderir, skip ise ilk n olayı yok sayar. Aynı zincirleme biçimi burada da geçerlidir.

stream.skip(2).takeWhile((n) => n < 100);

Sonucu Tüketme

Dönüştürme işleminden sonra yeni akışı await for veya listen ile okuyun. Gönderilen her değer, zincirinizin tamamından geçmiş olur.

await for (final v in transformed) {
  print(v);
}

Hızlı Kontrol

Hangi yöntem olay sayısını azaltabilir?

Özet

Akışları map ile dönüştürebilir, where ile filtreleyebilir ve take ile sınırlayabilirsiniz; bu yöntemlerin tümü zincirlenebilir ve siz dinleyene kadar lazy çalışır. 🎉

Başlamak ücretsiz

Yapay zeka eğitmeniyle Dart öğren — ücretsiz

Tarayıcında gerçek kod yaz ve çalıştır, 7/24 yapay zeka eğitmeninden anında yardım al; web'de ya da uygulamada kaldığın yerden devam et.

Kurslar
30
Dersler
120

Sıkça Sorulan Sorular

“Akışları Dönüştürme: map, where, take” dersi ücretsiz mi?

Evet — “Akışları Dönüştürme: map, where, take” 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 Dart Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Dart Academy kursu toplamda 4 dersten oluşur.

“Akışları Dönüştürme: map, where, take” dersinde ne öğreneceğim?

Bir olay dizisini yeniden şekillendirme Dart 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.

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

Önceden deneyim gerekmez. CoddyKit'te Dart 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 3. dersidir.

“Akışları Dönüştürme: map, where, take” 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 Dart Academy dersinde kod yazıp çalıştırabilir miyim?

Evet. Her Dart 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. await for ile Dinleme
  2. Tekil ve Yayın Akışları
  3. Akışları Dönüştürme: map, where, take
  4. async* ile Akış Oluşturma
← Dart Academy Sayfasına Dön