Kurso de Raku / Funkcia, samtempa, reaktiva kaj reta programado / Reaktiva programado / react kaj whenever
Supply difinitaj ekstere
Ĉiu ĝisnuna whenever kreis sian supply ĝuste tie en la
kapo — whenever Supply.from-list(...). Tio legiĝas bone por
rapida ekzemplo, sed veraj programoj malofte havas sian event-fonton
ĉemane ĝuste sur tiu loko. Pli ofte supply estas konstruita aliloke —
redonita de funkcio, produktita de Supplier, aŭ transdonita
al vi de kontaktskatolo aŭ tempigilo — kaj alvenas kiel simpla variablo.
whenever estas same kontenta observi nomitan supply:
my $sensors = Supply.from-list(18, 21, 19);
my $messages = Supply.from-list('hi', 'bye');
react {
whenever $sensors {
say "temperature: $_";
}
whenever $messages {
say "message: $_";
}
}Ĉi tio presas:
temperature: 18
temperature: 21
temperature: 19
message: hi
message: byeDo legu whenever $sensors { … } kiel «kiam ajn la supply
$sensors — de kie ajn ĝi venis — eligas valoron, plenumu ĉi
tiun korpon». La enlinia whenever Supply.from-list(...),
kiun vi vidis pli frue, estas nur la speciala kazo, kie la fonto hazarde
estas kreata surloke.
Se ĉi tiu formo de ekstera bloko kun internaj blokoj memorigas vin
pri io, vi pravas — la sekva paĝo
komparas ĝin kun given/when.
Kursa navigado
← Kvizo — whenever kaj done | whenever kaj when →
💪 Aŭ iru rekte al la ekzercoj de ĉi tiu
sekcio.