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

Тест — Протокол ітератора

Коли в ітератора більше немає значень, що повертає pull-one і як це перевіряють?

1IterationEnd, перевіряють через =:=
0Nil, перевіряють через .defined
0порожній список (), перевіряють через ==
00, перевіряють через =:=

Вичерпаний ітератор повертає вартовий об’єкт IterationEnd. Оскільки це єдиний спільний об’єкт, його перевіряють за ідентичністю через =:= (перевірка на той самий об’єкт), а не за значенням чи означеністю. Цикл for користується рівно цією перевіркою, щоб знати, коли зупинитися.

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

Протокол ітератора   |   Написання ітератора