Курс Raku / Функційне, конкурентне, реактивне та веб-програмування / Реактивне програмування / react і whenever / Блок react

Тест — react

Що надрукує наступна програма?

my @got;

react {
    whenever Supply.from-list(1, 2, 3, 4, 5) {
        @got.push($_);
        done if $_ == 3;
    }
}

say @got;
1[1 2 3]
0[1 2 3 4 5]
0[3]
0[4 5]

Тіло whenever збирає кожне значення, але викликає done, щойно побачить 3. done закриває блок react, тож потік полишають, і 4 та 5 ніколи не обробляються, а лишається [1 2 3].

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

Блок react   |   whenever