Raku kurss / Pielikums 🆕 / Plūsma un funkcijas / Apakšprogrammas un funkcionālais stils / Exercises / Pāra skaitļu kvadrātu summa
Risinājums: Pāra skaitļu kvadrātu summa
Šeit ir iespējams risinājums uzdevumam.
Kods
say [+] (1..10).grep(* %% 2).map(* ** 2);🦋 Atrodiet programmu failā sum-even-squares.raku.
Izvade
220Komentāri
Ķēde lasās no kreisās uz labo:
.grep(* %% 2)patur pāra skaitļus,.map(* ** 2)katru kāpina kvadrātā, un[+]kvadrātus reducē līdz to summai.Pāra skaitļi
2 4 6 8 10kvadrātā dod4 16 36 64 100, kas saskaitās par220.Tos pašus soļus var uzrakstīt kā plūsmas konveijeru, kurā
==>katru rezultātu padod nākamajam posmam, — tā plūsma lasās no augšas uz leju, nevis kā metožu ķēde:(1..10) ==> grep(* %% 2) ==> map(* ** 2) ==> sum() ==> say();
Katrs
==>savu kreisās puses sarakstu ievada nākamajā procedūrā, un noslēdzošais==> say()izdrukā summu220.