Raku kurss / Funkcionālā, paralēlā, reaktīvā un tīmekļa programmēšana / Funkcionālā programmēšana / Lambdas un slēgumi / Slēgumi

Viktorīna — Slēgumi

Ko izdrukā šī programma?

sub make-acc {
    my $total = 0;
    return sub ($x) { $total += $x };
}

my &add = make-acc;
add(10);
add(20);
say add(5);
05
030
135
00

Atgrieztā apakšprogramma noslēdzas pār $total, tāpēc visi trīs izsaukumi dala vienu un to pašu mainīgo. Pirmie divi izsaukumi to aizved līdz 30; trešais pieskaita 5 un izdrukā uzkrāto summu 35.

Kursa navigācija

Slēgumi   |   Skaitītājs