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

Risinājums: Skaitītājs

Šeit ir iespējams risinājums uzdevumam.

Kods

sub make-counter($step) {
    my $n = 0;
    return sub { $n += $step };
}

my &count = make-counter(10);
say count();
say count();
say count();

🦋 Atrodiet programmu failā counter.raku.

Izvade

10
20
30

Komentāri

  1. Slēgums satver no make-counter divas lietas: parametru $step un privāto mainīgo $n. Abi paliek dzīvi pēc tam, kad make-counter atgriezusies.

  2. Katrs izsaukums pieskaita $n vērtību $step un atgriež jauno summu. Skaitītājs, uzbūvēts ar citu soli, virzītos par šo lielumu.

Kursa navigācija

Skaitītājs   |   Reizinātājs