Extracted from Pike v7.8 release 866 at 2016-11-06.
pike.ida.liu.se
[Top]
Iterator

Method Iterator()->`+=()


Method `+=

Iterator `+=(int steps)

Description

Advance this iterator the specified number of steps and return it. The amount may be negative to move backwards. If the iterator doesn't support backward movement it should throw an exception in that case.

Note

foreach calls this function with a step value of 1 if next() doesn't exist for compatibility with Pike 7.6 and earlier.

Note

foreach will call this function even when the the iterator has more than one reference. If you want to loop over a copy of the iterator, you can create a copy by adding 0 (zero) to it:

Iterator iterator; ... foreach(iterator+0; mixed index; mixed value) { ... }

Note

Even though this function is sufficient for foreach to advance the iterator, next() is the preferred API. next() has the additional advantage of not being an lfun, so it is possible to advance the iterator by hand.

See also

next , `+ , `-