在 Any 中§
有关方法 iterator,请参阅主要文档 in context
multi method iterator(Any:)
将对象转换为列表后,将其作为迭代器返回。这是从 for
语句调用的函数。
.say for 3; # OUTPUT: «3»
大多数子类重新定义此方法以进行优化,因此实际上不迭代的类型实际上使用此实现。
在 Junction 中§
有关方法 iterator,请参阅主要文档 in context
multi method iterator(Junction:)
返回已转换为 List
的 Junction
的迭代器。
在 HyperSeq 中§
有关方法 iterator,请参阅主要文档 in context
method iterator(HyperSeq: --> Iterator)
返回底层迭代器。
在角色 PositionalBindFailover 中§
有关方法 iterator,请参阅主要文档 in context
method iterator(PositionalBindFailover:)
此方法存根确保实现角色 PositionalBindFailover
的类提供 iterator
方法。
在 Mu 中§
有关方法 iterator,请参阅主要文档 in context
method iterator(--> Iterator)
通过应用其 .list
方法将调用者强制转换为 list
,并对其使用 iterator
。
my = Mu.iterator;say .pull-one; # OUTPUT: «(Mu)»say .pull-one; # OUTPUT: «IterationEnd»
在角色 Iterable 中§
有关方法 iterator,请参阅主要文档 in context
method iterator(--> Iterator)
方法存根,确保执行 Iterable
角色的所有类都有一个方法 iterator
。
它应该返回一个 Iterator
。
say (1..10).iterator;
在 RaceSeq 中§
有关方法 iterator,请参阅主要文档 in context
method iterator(RaceSeq: --> Iterator)
返回底层迭代器。
在 Seq 中§
有关方法 iterator,请参阅主要文档 in context
method iterator(Seq:)
如果 Seq
未缓存,则返回底层迭代器并将调用者标记为已使用。如果在已使用的序列上调用,则抛出类型为 X::Seq::Consumed
的错误。
否则,返回缓存列表的迭代器。