Raku kurss / Padziļināti / Apakšprogrammas / Anonīmas apakšprogrammas / Exercises / Trīskāršot
Risinājums: Trīskāršot
Šeit ir iespējams risinājums uzdevumam.
Kods
my $factor = 3;
my $scale = -> $x { $x * $factor };
say $scale(7);🦋 Atrodiet programmu failā triple-it.raku.
Izvade
21Komentāri
Bultiņas bloks izmanto
$factor— mainīgo no apkārtējā redzamības apgabala —, lai gan tam trūkst tikai parametra$x. Tieši šādu mainīgo satveršana padara to par slēgumu.Ar
$factor, kas vienāds ar3, izsaukums$scale(7)dod21. Nomainiet$factor, un tas pats bloks mērogotu ar jauno vērtību:
$factor = 5;
say $scale(7); # 35Tā kā slēgums satver mainīgo, nevis tā vērtību uzrakstīšanas
brīdī, vēlākais izsaukums redz atjaunināto $factor un
atgriež 35.
Kursa navigācija
← Trīskāršot | Anonīms kvadrāts →