Cursus Raku / Elementa / Fundamenta functionum / Creando et vocando functiones
Nominate parametra
Contrarium ad parametros posicionales, nominati parametri nominibus suis referuntur.
Sequens functio duos parametros vocatos $from et
$to accipit.
sub distance(:$from, :$to) { $from - $to }Nunc, ut functionem vocare, debes argumenta nominare:
say distance(from => 30, to => 10); # 20Error est argumenta quasi posicionalia transmittere. Exempli gratia,
vocatio distance(30, 10) errorem generat:
Troppi positionale transmissi; expectati 0 argumenti sed accepti 2
in sub distance ad t.raku linea 1
in block <unit> ad t.raku linea 2
Bona pars est quod argumenta nominata in quolibet ordine enumerari possunt. Sequentes duae vocationes omnino aequivalentes sunt:
say distance(from => 30, to => 10); # 20
say distance(to => 10, from => 30); # 20Variabiles transmittentes
Cum valor quem vis transmittere ad functionem in variabili servatur, cuius nomen cum nomine parametri coincidit, frui potes speciali syntaxi quae scribendi laborem minuit:
my $from = 30;
my $to = 10;
say distance(:$from, :$to); # 20Hoc simile est vocatio verbosae:
say distance(from => $from, to => $to); # 20Iterum, ordo hic non est strictus:
say distance(:$to, :$from); # 20Si nomen variabilis differt a nomine parametri, utere uno modorum ad par transmittendum:
my $a = 20;
my $b = 10;
say distance(from => $a, to => $b);
# vel:
say distance(:from($a), :to($b));Exercitatio
Sequuntur 2 quiz de contentis huius argumenti.
Navigatio cursus
← Quiz — Vocando functionem | Quiz 1 — Nominate parametra →
💪 Vel recta ad exercitationes huius
sectionis i.