Raku kurss / Funkcionālā, paralēlā, reaktīvā un tīmekļa programmēšana / Funkcionālā programmēšana / Lambdas un slēgumi
Lambdas
Lambda ir funkcija bez nosaukuma. Ar diviem veidiem, kā tādu
uzrakstīt, jau esat sastapušies. Pirmais ir bultiņas bloks,
kas savus parametrus uzskaita aiz bultiņas ->:
my &square = -> $x { $x * $x };
say square(7); # 49Otrais ir Whatever forma, kur
* ieņem argumenta vietu un izteiksme ap to kļūst par viena
argumenta funkciju:
my &square = * ** 2;
say square(7); # 49Abas rada vienu un to pašu lietu: koda gabalu, ko var saglabāt, padot un izsaukt. Lambdas spīd kā argumenti augstākas kārtas funkcijām, kur nosaukuma došana tikai traucētu:
say (1..5).map(-> $n { $n * $n }); # (1 4 9 16 25)
say (1..5).map(* ** 2); # (1 4 9 16 25)Bultiņas forma ir skaidrāka, kad ķermenis ir garāks vai ņem vairākus parametrus; Whatever forma ir brīnišķīgi īsa vienkāršām izteiksmēm. Tās ir divi pieraksti vienai un tai pašai idejai: funkcija bez nosaukuma.
Prakse
Jūs gaida 1 viktorīna par šī temata saturu.
Kursa navigācija
← Lambdas un slēgumi | Viktorīna — Lambdas →
💪 Vai arī dodieties tieši uz šīs sadaļas
vingrinājumiem.