Курс Raku / Функційне, конкурентне, реактивне та веб-програмування / Конкурентне програмування / Джанкшени

Створення джанкшенів

Найпростіший спосіб побудувати з’єднання — це з’єднувальні оператори. Оператор | створює з’єднання any:

my $j = 1 | 2 | 3;
say $j; # any(1, 2, 3)

Значення $j означає «1, або 2, або 3». З’єднань є чотири різновиди, кожен зі своїм оператором та відповідною функцією:

  • any( … ) або a | b — істинне, якщо підходить будь-яке значення
  • all( … ) або a & b — істинне, якщо підходять усі значення
  • one( … ) або a ^ b — істинне, якщо підходить рівно одне значення
  • none( … ) — істинне, якщо не підходить жодне значення (це єдиний різновид без операторної форми — користуйтеся функцією)

Функційні форми зручні зі списком:

say all(3, 7, 2);  # all(3, 7, 2)
say none(1, 2, 3); # none(1, 2, 3)

З’єднання найкорисніше в порівнянні. Запит, чи дорівнює число з’єднанню any, перевіряє його одразу проти кожного значення:

say so 2 == any(1, 2, 3); # True
say so 5 == any(1, 2, 3); # False

Операторна форма читається так само природно — 1 | 2 | 3 є точно тим самим з’єднанням any:

say so 2 == 1 | 2 | 3; # True
say so 5 == 1 | 2 | 3; # False

so перетворює з’єднувальний результат на звичайне булеве значення. Наступна тема розглядає, що відбувається за лаштунками, коли ви так робите.

Практика

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

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

Джанкшени   |   Тест — Джанкшени


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