Raku kurss / Padziļināti / Konteineri / Konteksti 🆕 / Exercises / Vienums vai saraksts

Risinājums: Vienums vai saraksts

Šeit ir iespējams risinājums uzdevumam.

Kods

my @a = 1, 2, 3;
my $count = 0;

my $x = $(@a);
$count++ for @($x);
say $count;

🦋 Atrodiet programmu failā item-or-list.raku.

Izvade

3

Komentāri

  1. my $x = $(@a) uzspiež elementa kontekstu, tāpēc viss masīvs tiek iepakots vienā skalārā $x, nevis izklāts.

  2. @($x) pēc tam uzspiež saraksta kontekstu, izklājot $x atpakaļ tā trijos elementos. Tāpēc cikls for izpildās trīs reizes un skaitītājs paliek uz 3. Abi kontekstualizatori ir precīzi pretstati: $( ) iepako sarakstu vienā elementā, @( ) to atkal izpako.

Kursa navigācija

Vienums vai saraksts   |   Indeksa apzīmētāji 🆕