Курс языка программирования 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 →
💪 Или перейдите сразу к упражнениям этого
раздела.