Kurso de Raku / Progresinta / Ujoj / Ordigitaj ujoj
Listoj
Listo ankaŭ estas ordigita kolekto de valoroj, sed, malsame ol tabelo, ĝi estas neŝanĝebla: vi ne povas ŝanĝi, aldoni aŭ forigi ĝiajn elementojn. Listo estas skribata kiel komo-apartigita sekvenco de valoroj, ofte metita ene de krampoj:
my $colours = ('red', 'green', 'blue');Vi povas legi la elementojn de listo laŭ ilia indekso, kaj demandi, kiom da ili estas, ĝuste kiel ĉe tabelo:
my $colours = ('red', 'green', 'blue');
say $colours[0]; # red
say $colours.elems; # 3La diferenco montriĝas, kiam vi provas ŝanĝi elementon. Ĉe tabelo ĝi funkcias, ĉar ĉiu elemento estas ujo:
my @array = 1, 2, 3;
@array[0] = 10;
say @array; # [10 2 3]Ĉe listo tio estas eraro, ĉar la elementoj de listo estas nudaj valoroj, ne ujoj:
my $list = (1, 2, 3);
$list[0] = 10;La dua programo haltas kun mesaĝo:
Cannot modify an immutable List ((1 2 3))
in block <unit> at t.raku line 2Do uzu tabelon (la sigelo @), kiam vi bezonas ŝanĝi la
enhavon, kaj liston, kiam vi bezonas nur konservi fiksitan sekvencon de
valoroj.
Praktiko
Vin atendas 1 kvizo pri la enhavo de ĉi tiu temo.
Kursa navigado
← Tabeloj | Kvizo — Tabeloj kaj listoj →
💪 Aŭ iru rekte al la ekzercoj de ĉi tiu
sekcio.