Curso de Raku / Programación funcional, concurrente, reactiva y web / Programación funcional / Iteradores / El protocolo de iterador

Quiz — El protocolo de iterador

Cuando a un iterador no le quedan valores que dar, ¿qué devuelve pull-one y cómo se comprueba?

1IterationEnd, comprobado con =:=
0Nil, comprobado con .defined
0una lista vacía (), comprobada con ==
00, comprobado con =:=

Un iterador agotado devuelve el objeto centinela IterationEnd. Como es un único objeto compartido, se comprueba por identidad con =:= (la prueba del mismo objeto), no por valor ni por definición. Un bucle for usa exactamente esta comprobación para saber cuándo parar.

El protocolo de iterador   |   Escribir un iterador