Raku-Kurs / Fortgeschritten / Container / Kontexte / Item- und Listenkontext
Quiz — Itemkontext
Was gibt das folgende Programm aus?
my @a = 1, 2, 3;
my $n = 0;
$n++ for $(@a);
say $n;| 0 | 3 |
| 1 | 1 |
| 0 | 0 |
| 0 | 6 |
Der Kontextualisierer $( … ) erzwingt den
Elementkontext, sodass das Array als ein einzelner Wert statt als Liste
von Elementen behandelt wird. Die for-Schleife sieht daher
nur ein Element und führt ihren Körper nur einmal aus, sodass
$n bei 1 bleibt. Ohne $( ) würde
die Schleife dreimal iterieren.