Corso di Raku / Avanzato / Contenitori / Contesti / Exercises / Elemento o lista
Soluzione: Elemento o lista
Ecco una possibile soluzione.
Codice
my @a = 1, 2, 3;
my $count = 0;
my $x = $(@a);
$count++ for @($x);
say $count;🦋 Puoi trovare il codice sorgente nel file item-or-list.raku.
Output
3Commenti
my $x = $(@a)forza il contesto elemento, quindi l’intero array viene impacchettato nel singolo scalare$xpiuttosto che essere espanso.@($x)poi forza il contesto lista, espandendo$xnei suoi tre elementi. Il cicloforquindi viene eseguito tre volte, lasciando il contatore a3. I due contestualizzatori sono esattamente opposti:$( )impacchetta una lista in un singolo elemento,@( )la espande di nuovo.