Курс Raku / Розширені / Докладніше про вбудовані типи / Множини, мультимножини та суміші

Операції з множинами

Множини можна поєднувати звичними операціями з теорії множин. Кожен оператор має символ Unicode та ASCII-запис; використовуйте той, що вам більше до вподоби.

Об’єднання (або (|)) збирає всі значення, що є хоч в одній із множин:

say (set(1, 2, 3) ∪ set(3, 4, 5)).elems; # 5

Обидві множини мають спільне значення 3, тож об’єднання має п’ять різних елементів: 1, 2, 3, 4, 5.

Переріз (або (&)) залишає лише ті значення, що є в обох множинах:

my $common = set(1, 2, 3) ∩ set(2, 3, 4);
say $common;       # Set(2 3) — зверніть увагу, що множини невпорядковані
say $common.elems; # 2
say 2$common;   # True

Тут переріз містить 2 і 3 — значення, наявні в обох множинах. Множина не має власного порядку, тож при виведенні ці два елементи можуть з’явитися в будь-якому порядку.

Результатом цих операцій є знову множина, тож їй можна ставити ті самі запитання: скільки в ній елементів і чи належить їй конкретне значення.

Практика

Виконайте 1 тест за змістом цієї теми.

Навігація курсом

Множини, мультимножини та суміші   |   Тест — Множини


💪 Або перейдіть одразу до вправ цього розділу.