Kurso de Raku / Aldono 🆕 / Fluo kaj funkcioj / Subprogramoj kaj funkcia stilo / Exercises / Komponu du funkciojn

Solvo: Komponu du funkciojn

Jen ebla solvo de la tasko.

Kodo

sub compose(&f, &g) {
    return -> $x { f(g($x)) };
}

my $combined = compose(* * 2, * + 1);

say $combined(5);

🦋 Vi povas trovi la fontkodon en la dosiero compose.raku.

Eligo

12

Komentoj

  1. La parametroj &f kaj &g akceptas ajnajn vokeblojn — ĉi tie la Whatever-funkciojn * * 2 kaj * + 1.

  2. compose redonas freŝan anoniman funkcion -> $x { f(g($x)) }. Voki ĝin sur 5 plenumas unue g (5 + 1), poste f (6 * 2), donante 12.

Kursa navigado

Komponu du funkciojn   |   Kreskanta akumulilo