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 RaceSeq§

See primary documentation in context for method iterator.

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

Returns the underlying iterator.

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 HyperSeq§

See primary documentation in context for method iterator.

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

Returns the underlying iterator.

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 Junction§

See primary documentation in context for method iterator.

multi method iterator(Junction:D:)

Returns an iterator over the Junction converted to a 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 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.