Cursus Raku / Functioneel, concurrent, reactief en webprogrammeren / Functioneel programmeren / Iterators / Het iteratorprotocol

Quiz — Het iteratorprotocol

Wanneer een iterator geen waarden meer te geven heeft, wat geeft pull-one dan terug, en hoe test je daarop?

1IterationEnd, getest met =:=
0Nil, getest met .defined
0een lege lijst (), getest met ==
00, getest met =:=

Een uitgeputte iterator geeft het schildwachtobject IterationEnd terug. Omdat het één gedeeld object is, controleer je erop via identiteit met =:= (de test op hetzelfde object), niet op waarde of gedefinieerdheid. Een for-lus gebruikt precies deze controle om te weten wanneer hij moet stoppen.

Cursusnavigatie

Het iteratorprotocol   |   Een iterator schrijven