Курс Raku / Розширені / Контейнери / Упорядковані контейнери
Списки
Список — це теж упорядкований набір значень, але, на відміну від масиву, він незмінний: змінити, додати чи вилучити його елементи не можна. Список записують як послідовність значень через кому, часто взяту в дужки:
my $colours = ('red', 'green', 'blue');Читати елементи списку за індексом і питати, скільки їх, можна так само, як і з масивом:
my $colours = ('red', 'green', 'blue');
say $colours[0]; # red
say $colours.elems; # 3Різниця виявляється, коли ви намагаєтеся змінити елемент. З масивом це працює, бо кожен елемент є контейнером:
my @array = 1, 2, 3;
@array[0] = 10;
say @array; # [10 2 3]Зі списком це помилка, бо елементи списку є простими значеннями, а не контейнерами:
my $list = (1, 2, 3);
$list[0] = 10;Друга програма зупиняється з повідомленням:
Cannot modify an immutable List ((1 2 3))
in block <unit> at t.raku line 2Отже, використовуйте масив (сигіл @), коли потрібно
змінювати вміст, і список — коли потрібно лише зберігати сталу
послідовність значень.
Практика
Виконайте 1 тест за змістом цієї теми.
Навігація курсом
← Масиви | Тест — Масиви та списки →
💪 Або перейдіть одразу до вправ цього
розділу.