Курс Raku / Розширені / Докладніше про вбудовані типи
Множини, мультимножини та суміші
Окрім масивів і хешів, Raku пропонує кілька спеціалізованих
контейнерів для наборів значень. Найпростіший із них — Set,
невпорядкований набір різних значень, де кожне значення або є
членом, або ні, а дублікати ігноруються.
Множина створюється підпрограмою set. Повторювані
значення злипаються в одне:
my $s = set(1, 2, 3, 2, 1);
say $s.elems; # 3Хоча передано п’ять чисел, множина має лише три елементи, бо
1 і 2 траплялися більш ніж один раз.
Головне запитання, яке ставлять множині, — чи належить їй значення.
Оператор ∈ (читається як «є елементом») повертає булеве
значення:
say 2 ∈ set(1, 2, 3); # True
say 9 ∈ set(1, 2, 3); # FalseЯкщо вам зручніше лишатися в межах чистого ASCII, той самий оператор
можна записати як (elem):
say 2 (elem) set(1, 2, 3); # TrueНаступні теми показують, як поєднувати множини, і знайомлять із мультимножинами та сумішами — близькими родичами множини.
Теми цього розділу
Практика
Виконайте 1 тест за змістом цього розділу.
Вправи
У цьому розділі 3 вправи. Перш ніж братися до практики, вивчіть усі теми розділу.