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

Свързване към supply

За да се абонирате за поток, вие се включвате към него (tap): подавате на .tap блок и този блок се изпълнява за всяка стойност, която потокът подава. Най-простият поток за експерименти е Supply.from-list, който подава стойностите на списък:

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

Това отпечатва:

1
2
3

Блокът -> $v { say $v } е включването. Потокът тласка всяка стойност в него поред, така че блокът се изпълнява три пъти — по веднъж за стойност.

Включването може да прави каквото и да е със стойността, включително да натрупва резултат:

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

Тук всяка подадена стойност се добавя към $total, който завършва на 6. Включването е основното действие на реактивното програмиране: свързвате парче поведение със струя и оставяте струята да го задвижва.

Практика

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

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

Supply   |   Тест — Supply


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