Kurso de Raku / Progresinta / Subprogramoj / Subskriboj / Exercises / Englutaj nomitaj argumentoj
Solvo: Englutaj nomitaj argumentoj
Jen ebla solvo de la tasko.
Kodo
sub describe($name, *%opts) {
my $details = %opts.sort.map({ "{.key}={.value}" }).join(', ');
"$name: $details";
}
say describe('Anna', colour => 'red', size => 5);🦋 Vi povas trovi la fontkodon en la dosiero slurpy-hash.raku.
Eligo
Anna: colour=red, size=5Komentoj
La fiksita pozicia parametro
$nameestas plenigita unue, kaj la engluta*%optsposte kolektas ĉiun restantan nomitan argumenton en hakon.%opts.sortordigas la parojn laŭ ŝlosilo, do la eligo estas determinita —colourvenas antaŭsize. La.maptransformas ĉiun paron en ĉenonkey=valueper.keykaj.value, kaj.join(', ')gluas ilin kune.La fina ĉeno interpolas
$namekaj la kunmetitan$details, produktanteAnna: colour=red, size=5.
Kursa navigado
← Englutaj nomitaj argumentoj | Kvizo — Englutaj parametroj →