0Pricing
Dart Academy · Lección

Composición de tuberías de funciones puras

Encadene transformaciones de forma predecible

Composición de tuberías de funciones puras es una lección gratuita de Dart Academy en CoddyKit. Esta es la lección 4 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Dart Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Dart Academy incluye 4 lecciones en total.

Qué es una función pura

Una función pura devuelve el mismo resultado para la misma entrada y no cambia nada fuera de sí misma. Es predecible y fácil de probar. ✨

int double(int x) => x * 2; // pure

Detectar efectos secundarios

Una función con efectos secundarios interactúa con el mundo exterior, por ejemplo, al imprimir algo o modificar una variable global. Esas funciones son más difíciles de razonar.

var log = [];
void impure(int x) => log.add(x); // side effect

Por qué la pureza ayuda a los pipelines

Las funciones puras se encadenan de forma segura porque cada paso depende únicamente de su entrada. Puede componerlas sin sorpresas.

Encadenar map y where

Un pipeline es simplemente una cadena de transformaciones. Filtre con where y después transforme con map, leyendo de arriba abajo.

var r = [1, 2, 3, 4]
  .where((n) => n.isEven)
  .map((n) => n * 10);

Cada paso es lazy

where y map devuelven iterables lazy, por lo que toda la cadena se ejecuta únicamente al consumirse. Añada toList para materializar los resultados.

print(r.toList()); // [20, 40]

Terminar con fold

Termine un pipeline agrupando los resultados. Aquí fold suma los valores filtrados y transformados en un único número.

var sum = [1, 2, 3, 4]
  .where((n) => n.isEven)
  .fold(0, (a, b) => a + b);

Componer dos funciones

Puede crear una función nueva pasando el resultado de una a otra. Esta composición se interpreta como hacer f y después g.

int Function(int) compose(
    int Function(int) f, int Function(int) g) =>
  (x) => g(f(x));

Usar la función compuesta

Componga pequeños pasos puros en una función reutilizable. El resultado se comporta como un transformador ordenado y de propósito único.

var f = compose((x) => x + 1, (x) => x * 2);
print(f(3)); // 8

Mantener pequeños los pasos

Las funciones puras pequeñas y con nombre hacen que los pipelines se documenten por sí mismos. Cada paso realiza una tarea, así que la cadena se lee como una receta.

Evitar modificar las entradas

Devuelva valores nuevos en lugar de cambiar los argumentos directamente. Mantener las entradas sin cambios es lo que hace fiable un pipeline.

List<int> bump(List<int> xs) =>
  xs.map((x) => x + 1).toList();

Un pipeline completo

En conjunto: filtrar, transformar y después agrupar. Un pipeline legible convierte los datos sin procesar en una respuesta final.

var avgx10 = [2, 4, 6]
  .map((n) => n * 10)
  .reduce((a, b) => a + b);

Comprobación rápida

Identifique qué hace pura a una función.

Resumen

Las funciones puras se componen en pipelines claros y lazy: filtrar, aplicar map y después agrupar. Los pasos pequeños producen grandes resultados de forma predecible. 🎯

Preguntas frecuentes

¿La lección «Composición de tuberías de funciones puras» es gratis?

Sí — el texto completo de «Composición de tuberías de funciones puras» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Dart Academy, actualiza a CoddyKit PRO. El curso de Dart Academy incluye 4 lecciones en total.

¿Qué aprenderé en «Composición de tuberías de funciones puras»?

Encadene transformaciones de forma predecible Practicas Dart Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.

¿Necesito experiencia previa para empezar Dart Academy?

No se requiere experiencia previa. Dart Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 4 de 4.

¿Cuánto tiempo toma la lección «Composición de tuberías de funciones puras»?

La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.

¿Puedo escribir y ejecutar código en esta lección de Dart Academy?

Sí. Cada lección de Dart Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.

Todas las lecciones de este curso

  1. Funciones de orden superior y currificación
  2. fold, reduce y expand
  3. Iterables perezosos y generadores con sync*
  4. Composición de tuberías de funciones puras
← Volver a Dart Academy