Raku kurss / Pamati / Funkciju pamati / Funkciju izveide un izsaukšana
Nosauktie parametri
Atšķirībā no pozicionālajiem parametriem, nosauktie parametri tiek norādīti pēc to nosaukumiem.
Šī funkcija pieņem divus parametrus, kas saucas $from un
$to.
sub distance(:$from, :$to) { $from - $to }Tagad, lai izsauktu funkciju, jums ir jānorāda argumentu nosaukumi:
say distance(from => 30, to => 10); # 20Ir kļūda nodot argumentus tā, it kā tie būtu pozicionāli. Piemēram,
izsaukums distance(30, 10) radīs kļūdu:
Pārāk daudz pozicionālo argumentu; tika gaidīti 0 argumenti, bet tika saņemti 2
sub distance pie t.raku 1. rindas
blokā <unit> pie t.raku 2. rindas
Labā ziņa ir tā, ka nosauktos argumentus var uzskaitīt jebkurā secībā. Šie divi izsaukumi ir pilnīgi ekvivalenti:
say distance(from => 30, to => 10); # 20
say distance(to => 10, from => 30); # 20Mainīgo nodošana
Kad vērtība, kuru vēlaties nodot funkcijai, ir saglabāta mainīgajā, kura nosaukums sakrīt ar parametra nosaukumu, jūs varat izmantot īpašu sintaksi, kas samazina rakstīšanu:
my $from = 30;
my $to = 10;
say distance(:$from, :$to); # 20Tas ir līdzīgi kā izsaukums ar vairāk vārdiem:
say distance(from => $from, to => $to); # 20Atkal, secība šeit nav stingra:
say distance(:$to, :$from); # 20Ja mainīgā nosaukums atšķiras no parametra nosaukuma, izmantojiet vienu no veidiem, kā nodot pāri:
my $a = 20;
my $b = 10;
say distance(from => $a, to => $b);
# vai:
say distance(:from($a), :to($b));Prakse
Jūs gaida 2 viktorīnas par šī temata saturu.
Kursa navigācija
← Viktorīna — Funkcijas izsaukšana | Tests 1 — Nosauktie parametri →
💪 Vai arī dodieties tieši uz šīs sadaļas
vingrinājumiem.