Corso di Raku / Programmazione funzionale, concorrente, reattiva e web / Programmazione funzionale / Feed di dati
L’operatore feed
L’operatore di flusso ==> manda un elenco da sinistra
dentro l’operazione a destra. Il risultato scorre poi fin dove punta il
==> successivo, terminando in una variabile che lo
raccoglie:
(1..10) ==> grep(* %% 2) ==> my @evens;
say @evens; # [2 4 6 8 10]Leggilo da sinistra a destra: prendi 1..10, conserva i
numeri pari e riponi il risultato in @evens. L’operatore
%% significa «è divisibile per», quindi * %% 2
conserva i numeri pari.
La regola importante è che un flusso deve terminare in un
bersaglio, di solito my @array (o una variabile
già esistente). I dati vi scorrono dentro. Scrivere l’assegnamento nel
verso opposto, con =, non fa ciò che vuoi, perché il flusso
e l’assegnamento si contendono il campo; lascia sempre che il flusso
finisca nella propria variabile.
Un flusso è solo un altro modo di scrivere una catena di operazioni
su elenchi. Lo stesso risultato si potrebbe scrivere
my @evens = (1..10).grep(* %% 2). La forma a flusso dà il
meglio quando gli stadi sono parecchi, come mostra l’argomento
successivo.
Pratica
Risolvi 1 quiz sul contenuto di questo argomento.
Navigazione del corso
← Feed di dati | Quiz — L’operatore feed →
💪 Oppure vai direttamente agli esercizi di questa
sezione.