0Pricing
Dart Academy · Leçon

Transformer les flux : map, where, take

Remodeler une séquence d’événements

Transformer les flux : map, where, take est une leçon Dart Academy gratuite sur CoddyKit. Ceci est la leçon 3 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage Dart Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Dart Academy comprend 4 leçons au total.

Les stream sont transformables

Tout comme les listes, les stream disposent de méthodes pratiques qui remodèlent leurs événements. Vous pouvez transformer un stream en un nouveau sans modifier la source.

map transforme chaque événement

La méthode map exécute une fonction sur chaque événement et en émet le résultat. Elle transforme un stream de valeurs en stream de valeurs transformées.

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

map conserve le nombre d’événements

Avec map, le nombre d’événements reste identique : seule leur forme change. Trois entrées produisent toujours exactement trois sorties. ✨

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

where filtre les événements

La méthode where ne conserve que les événements qui réussissent une vérification. Tout ce qui renvoie false est supprimé du nouveau stream.

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

where peut réduire le stream

Contrairement à map, where peut émettre moins d’événements qu’il n’en a reçus. Si aucun événement ne réussit la vérification, le stream obtenu reste vide.

take limite le nombre d’événements

La méthode take n’émet que les n premiers événements, puis cesse d’écouter. Elle est idéale lorsque vous n’avez besoin que de quelques valeurs provenant d’un long stream. 🎯

final firstThree = bigStream.take(3);

take annule rapidement

Après avoir fourni ses n événements, take annule automatiquement son abonnement au stream source. Le stream d’origine cesse alors de produire des événements pour vous.

Enchaîner les transformations

Ces méthodes renvoient de nouveaux stream, ce qui vous permet de les enchaîner. Lisez la chaîne de gauche à droite : filtrer, puis transformer, puis limiter.

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

Différées par nature

Les transformations sont paresseuses : rien ne s’exécute tant que vous n’écoutez pas. La chaîne ne traite les événements qu’à leur arrivée, un par un.

D’autres outils : takeWhile et skip

En plus des trois méthodes principales, takeWhile émet des événements jusqu’à l’échec d’une vérification, tandis que skip ignore les n premiers événements. Le même style d’enchaînement s’applique.

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

Consommer le résultat

Après la transformation, lisez le nouveau stream avec await for ou écoutez-le. Chaque valeur émise est déjà passée par toute votre chaîne.

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

Vérification rapide

Quelle méthode peut réduire le nombre d’événements ?

Récapitulatif

Vous pouvez remanier les stream avec map pour transformer, where pour filtrer et take pour limiter, le tout enchaînable et différé jusqu’à l’écoute. 🎉

Questions Fréquemment Posées

La leçon « Transformer les flux : map, where, take » est-elle gratuite ?

Oui — le texte complet de « Transformer les flux : map, where, take » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours Dart Academy, passe à CoddyKit PRO. Le cours Dart Academy comprend 4 leçons au total.

Qu'est-ce que j'apprendrai dans « Transformer les flux : map, where, take » ?

Remodeler une séquence d’événements Tu pratiques Dart Academy avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.

Dois-je avoir de l'expérience pour commencer Dart Academy ?

Aucune expérience préalable n'est requise. Dart Academy sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 3 sur 4.

Combien de temps prend la leçon « Transformer les flux : map, where, take » ?

La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.

Peux-tu écrire et exécuter du code dans cette leçon Dart Academy ?

Oui. Chaque leçon Dart Academy inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.

Toutes les leçons de ce cours

  1. Écouter avec await for
  2. Flux uniques ou diffusés
  3. Transformer les flux : map, where, take
  4. Créer des flux avec async*
← Retour à Dart Academy