Curso de Raku / Programación funcional, concurrente, reactiva y web / Programación funcional / Iteradores / Exercises / Sumar con pull-one
Solución: Sumar con pull-one
Aquí tienes una posible solución para la tarea.
Código
my $it = (3, 7, 5).iterator;
my $sum = 0;
loop {
my $v := $it.pull-one;
last if $v =:= IterationEnd;
$sum += $v;
}
say $sum;🦋 Puedes encontrar el código fuente en el archivo sum-with-pull-one.raku.
Salida
15Comentarios
.iteratorda la vista por extracción de la lista, y cadapull-onedevuelve el número siguiente.El valor se liga con
:=, no se asigna, para que$v =:= IterationEnddetecte correctamente el final: un=de asignación compararía el contenedor en lugar del valor. El bucle suma3,7y5, después encuentraIterationEndy se detiene, dejando15.