Курс Raku / Функційне, конкурентне, реактивне та веб-програмування / Функційне програмування / Ітератори / Вправи / Сума за допомогою pull-one
Розв’язання: Сума за допомогою pull-one
Ось одне з можливих розв’язань задачі.
Код
my $it = (3, 7, 5).iterator;
my $sum = 0;
loop {
my $v := $it.pull-one;
last if $v =:= IterationEnd;
$sum += $v;
}
say $sum;🦋 Знайдіть програму у файлі sum-with-pull-one.raku.
Вивід
15Коментарі
.iteratorдає витягувальний погляд на список, і коженpull-oneповертає наступне число.Значення зв’язують через
:=, а не присвоюють, щоб$v =:= IterationEndправильно розпізнав кінець — присвоєння через=порівнювало б натомість контейнер. Цикл додає3,7та5, потім зустрічаєIterationEndі зупиняється, лишаючи15.
Навігація курсом
← Сума за допомогою pull-one | Ліниві та нескінченні послідовності →