Курс языка программирования Raku / Функциональное, конкурентное, реактивное и веб-программирование / Реактивное программирование / Supply

Подключение к supply

Чтобы подписаться на supply, к нему подключаются: вы передаёте методу .tap блок, и этот блок выполняется для каждого значения, которое supply выдаёт. Проще всего экспериментировать с Supply.from-list, который выдаёт значения списка:

my $s = Supply.from-list(1, 2, 3);
$s.tap(-> $v { say $v });

Программа печатает:

1
2
3

Блок -> $v { say $v } и есть подключение (tap). Supply по очереди проталкивает в него каждое значение, поэтому блок выполняется трижды — по разу на значение.

Подключение может делать со значением что угодно, в том числе накапливать результат:

my $total = 0;
Supply.from-list(1, 2, 3).tap(-> $v { $total += $v });
say $total; # 6

Здесь каждое выданное значение прибавляется к $total, который в итоге равен 6. Подключение — базовое действие реактивного программирования: соединяете кусочек поведения с потоком и даёте потоку двигать его.

Практика

Пройдите 1 тест по содержанию этой темы.

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

Supply   |   Тест — Supply


💪 Или перейдите сразу к упражнениям этого раздела.