Курс по 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) — note that sets are unordered
say $common.elems; # 2
say 2$common;   # True

Тук сечението съдържа 2 и 3 — стойностите, присъстващи и в двете множества. Множеството няма вътрешен ред, затова двата елемента могат да се появят в произволен ред при извеждане.

Резултатът от тези операции сам по себе си е множество, така че можете да му задавате същите въпроси: колко елемента има и дали определена стойност принадлежи към него.

Практика

Направете 1 тест върху съдържанието на тази тема.

Навигация в курса

Множества, торби и смеси   |   Тест — Множества


💪 Или преминете направо към упражненията в този раздел.