Corso di Raku / Programmazione funzionale, concorrente, reattiva e web / Programmazione reattiva / react e whenever
Il blocco react
Un blocco react è un posto dove vivono le reazioni. Al
suo interno, un whenever dice «ogni volta che questo supply
emette un valore, esegui questo corpo». Il blocco react
aspetta poi finché ogni supply che osserva non è finito:
my $sum = 0;
react {
whenever Supply.from-list(1, 2, 3) {
$sum += $_;
}
}
say $sum; # 6Il corpo del whenever gira una volta per ogni valore —
1, 2, 3 — sommandolo a
$sum. Il valore corrente è disponibile come $_
(puoi anche dargli un nome con -> $v).
Il comportamento chiave è che react
blocca finché i suoi supply non sono conclusi. Solo
dopo che il Supply.from-list ha emesso tutti i suoi valori
il blocco react finisce e il programma passa al
say. Ecco perché $sum è già 6
quando viene stampato: il blocco react ha aspettato l’intero flusso.
Questo fa di react un posto naturale dove raccogliere
risultati da un flusso: predisponi le reazioni, lascia che giri fino in
fondo e usa dopo ciò che hai raccolto.
Pratica
Risolvi 1 quiz sul contenuto di questo argomento.
Navigazione del corso
← react e whenever | Quiz — react →
💪 Oppure vai direttamente agli esercizi di questa
sezione.