In role Iterator§

有关方法 sink-all,请参阅主要文档 在上下文中

method sink-all(Iterator:D: --> IterationEnd)

应纯粹为了产生值的副作用而耗尽迭代器,而无需以任何方式实际保存它们。应始终返回 IterationEnd。如果没有与产生值相关的副作用,则可以通过消耗类将其实现为虚拟无操作。

say (1 .. 1000).iterator.sink-all;  # OUTPUT: «IterationEnd␤»

Iterator 角色将此方法实现为一个循环,该循环调用 pull-one,直到其耗尽。