Cursus Raku / Geavanceerd / Containers / Contexten / Item- en lijstcontext
Quiz — Itemcontext
Wat drukt het volgende programma af?
my @a = 1, 2, 3;
my $n = 0;
$n++ for $(@a);
say $n;| 0 | 3 |
| 1 | 1 |
| 0 | 0 |
| 0 | 6 |
De $( … )-contextomzetter dwingt itemcontext af, zodat
de array als een enkele waarde wordt behandeld in plaats van als een
lijst van elementen. De for-lus ziet daarom één item en
voert zijn body slechts één keer uit, waardoor $n op
1 blijft. Zonder $( ) zou de lus drie keer
worden doorlopen.