Curso de Raku / Programación funcional, concurrente, reactiva y web / Programación funcional / Flujos de datos
El operador de flujo
El operador de flujo ==> envía una lista desde la
izquierda hacia la operación de la derecha. El resultado sigue después
hacia donde apunte el ==> siguiente, terminando en una
variable que lo recoge:
(1..10) ==> grep(* %% 2) ==> my @evens;
say @evens; # [2 4 6 8 10]Léelo de izquierda a derecha: toma 1..10, conserva los
números pares y guarda el resultado en @evens. El operador
%% significa «es divisible por», así que
* %% 2 conserva los números pares.
La regla importante es que un flujo debe terminar en un
destino, normalmente my @array (o una variable ya
existente). Los datos fluyen hacia delante hasta él. Escribir la
asignación al revés, con =, no hace lo que quieres, porque
el flujo y la asignación compiten; deja siempre que el flujo termine en
su variable.
Un flujo no es más que otra manera de escribir una cadena de
operaciones sobre listas. El mismo resultado podría escribirse
my @evens = (1..10).grep(* %% 2). La forma de flujo luce
cuando hay varias etapas, como muestra el tema siguiente.
Práctica
Resuelve 1 cuestionario sobre el contenido de este tema.
Navegación del curso
← Flujos de datos | Quiz — El operador de flujo →
💪 O ve directamente a
los ejercicios de esta sección.