Raku kurss / Padziļināti / Konteineri / Kārtotie konteineri
Saraksti
Saraksts arī ir sakārtota vērtību kolekcija, bet atšķirībā no masīva tas ir nemainīgs: jūs nevarat mainīt, pievienot vai noņemt tā elementus. Sarakstu raksta kā ar komatiem atdalītu vērtību virkni, bieži ievietotu iekavās:
my $colours = ('red', 'green', 'blue');Jūs varat nolasīt saraksta elementus pēc to indeksa un noskaidrot, cik to ir, tieši tāpat kā masīvam:
my $colours = ('red', 'green', 'blue');
say $colours[0]; # red
say $colours.elems; # 3Atšķirība parādās, kad mēģināt mainīt elementu. Masīvam tas darbojas, jo katrs elements ir konteineris:
my @array = 1, 2, 3;
@array[0] = 10;
say @array; # [10 2 3]Sarakstam tā ir kļūda, jo saraksta elementi ir vienkāršas vērtības, nevis konteineri:
my $list = (1, 2, 3);
$list[0] = 10;Otrā programma apstājas ar paziņojumu:
Cannot modify an immutable List ((1 2 3))
in block <unit> at t.raku line 2Tāpēc izmantojiet masīvu (sigilu @), kad nepieciešams
mainīt saturu, un sarakstu, kad nepieciešams tikai saglabāt fiksētu
vērtību secību.
Prakse
Jūs gaida 1 viktorīna par šī temata saturu.
Kursa navigācija
← Masīvi | Viktorīna — Masīvi un saraksti →
💪 Vai arī dodieties tieši uz šīs sadaļas
vingrinājumiem.