Курс по Raku / Функционално, паралелно, реактивно и уеб програмиране / Функционално програмиране / Итератори / Протоколът на итераторите

Тест — Протоколът на итераторите

Когато итераторът няма повече стойности за даване, какво връща pull-one и как се проверява за това?

1IterationEnd, проверява се с =:=
0Nil, проверява се с .defined
0празен списък (), проверява се с ==
00, проверява се с =:=

Изчерпаният итератор връща обекта-страж IterationEnd. Понеже това е един-единствен споделен обект, проверявате за него по идентичност с =:= (проверка за същия обект), а не по стойност или дефинираност. Цикълът for използва точно тази проверка, за да разбере кога да спре.

Навигация в курса

Протоколът на итераторите   |   Писане на итератор