Raku kurss / Funkcionālā, paralēlā, reaktīvā un tīmekļa programmēšana / Funkcionālā programmēšana / Augstākas kārtas funkcijas / Exercises / Izveidojiet reizinātāju
Risinājums: Izveidojiet reizinātāju
Šeit ir iespējams risinājums uzdevumam.
Kods
sub multiplier($n) {
sub ($x) { $x * $n };
}
my &double = multiplier(2);
my &triple = multiplier(3);
say double(7);
say triple(7);🦋 Atrodiet programmu failā make-multiplier.raku.
Izvade
14
21Komentāri
multiplier(2)atgriež apakšprogrammu, kas atceras, ka$nir2;multiplier(3)atgriež atsevišķu apakšprogrammu, kas atceras3.Katra atgrieztā apakšprogramma patur savu
$n, tāpēcdouble(7)dod14untriple(7)dod21— divas neatkarīgas funkcijas, uzbūvētas no vienas un tās pašas rūpnīcas.