Documentation for method
push-at-least assembled from the following types:
method push-at-least(Iterator: , int --> Mu)
Should produce at least
$count elements, and for each of them, call
If fewer than
$count elements are available from the iterator, it should return the sentinel value
IterationEnd. Otherwise it should return
Iterators with side effects should produce exactly
$count elements; iterators without side effects (such as Range iterators) can produce more elements to achieve better performance.
my ;say (1 .. ∞).iterator.push-at-least(, 10); # OUTPUT: «10␤»say ; # OUTPUT: «[1 2 3 4 5 6 7 8 9 10]␤»
The Iterator role implements this method in terms of
pull-one. In general, it is also not intended to be called directly as in the example above. It can be implemented, if unhappy with this default implementation, by those using this role. See the documentation for
push-exactly for an example implementation.