Raku-Kurs / Fortgeschritten / Container / Kontexte / Exercises / Item oder Liste
Lösung: Item oder Liste
Hier ist eine mögliche Lösung der Aufgabe.
Code
my @a = 1, 2, 3;
my $count = 0;
my $x = $(@a);
$count++ for @($x);
say $count;🦋 Du findest den Quellcode in der Datei item-or-list.raku.
Ausgabe
3Kommentare
my $x = $(@a)erzwingt den Elementkontext, sodass das gesamte Array in den einzelnen Skalar$xgepackt wird, statt ausgebreitet zu werden.@($x)erzwingt dann den Listenkontext und breitet$xzurück in seine drei Elemente aus. Diefor-Schleife läuft daher dreimal und hinterlässt den Zähler bei3. Die beiden Kontextualisierer sind genaue Gegensätze:$( )packt eine Liste in ein Element,@( )entpackt sie wieder.