In Seq§

See primary documentation in context for method iterator

method iterator(Seq:D:)

If the Seq is not cached, returns the underlying iterator and marks the invocant as consumed. If called on an already consumed sequence, throws an error of type X::Seq::Consumed.

Otherwise returns an iterator over the cached list.

In role Iterable§

See primary documentation in context for method iterator

method iterator(--> Iterator:D)

Method stub that ensures all classes doing the Iterable role have a method iterator.

It is supposed to return an Iterator.

say (1..10).iterator;

In RaceSeq§

See primary documentation in context for method iterator

method iterator(RaceSeq:D: --> Iterator:D)

Returns the underlying iterator.

In role PositionalBindFailover§

See primary documentation in context for method iterator

method iterator(PositionalBindFailover:D:{ ... }

This method stub ensure that a class implementing role PositionalBindFailover provides an iterator method.

In Any§

See primary documentation in context for method iterator

multi method iterator(Any:)

Returns the object as an iterator after converting it to a list. This is the function called from the for statement.

.say for 3# OUTPUT: «3␤»

Most subclasses redefine this method for optimization, so it's mostly types that do not actually iterate the ones that actually use this implementation.

In Mu§

See primary documentation in context for method iterator

method iterator(--> Iterator)

Coerces the invocant to a list by applying its .list method and uses iterator on it.

my $it = Mu.iterator;
say $it.pull-one# OUTPUT: «(Mu)␤» 
say $it.pull-one# OUTPUT: «IterationEnd␤»

In HyperSeq§

See primary documentation in context for method iterator

method iterator(HyperSeq:D: --> Iterator:D)

Returns the underlying iterator.

In Junction§

See primary documentation in context for method iterator

multi method iterator(Junction:D:)

Returns an iterator over the Junction converted to a List.