Cursus Raku / Geavanceerd / Containers / Contexten / Exercises / Item of lijst
Oplossing: Item of lijst
Hier is een mogelijke oplossing voor de opgave.
Code
my @a = 1, 2, 3;
my $count = 0;
my $x = $(@a);
$count++ for @($x);
say $count;🦋 Je kunt de broncode vinden in het bestand item-or-list.raku.
Uitvoer
3Opmerkingen
my $x = $(@a)dwingt itemcontext af, zodat de hele array in de enkele scalar$xwordt verpakt in plaats van uitgespreid.@($x)dwingt vervolgens lijstcontext af en spreidt$xweer uit tot zijn drie elementen. Defor-lus wordt daarom drie keer uitgevoerd, waardoor de teller op3komt. De twee contextomzetters zijn exacte tegengestelden:$( )verpakt een lijst tot één item,@( )pakt het weer uit.