Kurso de Raku / Funkcia, samtempa, reaktiva kaj reta programado / Samtempa programado / hyper kaj race 🆕 / Exercises / Sumo per race
Solvo: Sumo per race
Jen ebla solvo de la tasko.
Kodo
say (1..50).race.map(* ** 2).grep(* %% 2).sum;🦋 Vi povas trovi la fontkodon en la dosiero parallel-sum.raku.
Eligo
22100Komentoj
.raceplenumas la tutan ĉenon — kvadratigi ĉiun nombron kaj filtri por la paraj kvadratoj — paralele, kaj, malsame ol.hyper, ne promesas redoni la elementojn en ordo.Tio estas en ordo ĉi tie, ĉar la fina paŝo estas sumo, kiu estas ord-sendependa: la paraj kvadratoj (
2²,4², …,50²) sumiĝas al22100sendepende de tio, en kiu ordo ili alvenas. Kiam vi nur kombinas la rezultojn (sumo, nombrado),.raceestas la natura elekto kaj povas porti iom malpli da ŝarĝo ol.hyper.