Курс языка программирования 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 тест по содержанию этой темы.
Навигация по курсу
← Множества, мультимножества и смеси | Тест — Множества →
💪 Или перейдите сразу к упражнениям этого
раздела.