fold
Description:
Folds func
over the elements of iter
.
That is to say, func
will be called as func
(object, ret
, user_data
) for each object in
this. The normal use of this procedure is to accumulate the results of operating on the objects in ret
.
This procedure can be used (and is used internally) to implement the @foreach and find_custom operations.
The fold will proceed as long as func
returns true
. When the iterator has no more arguments,
DONE will be returned. If func
returns false
, the fold will stop, and OK will be returned. Errors or
resyncs will cause fold to return ERROR or
RESYNC as appropriate.
The iterator will not be freed.
Parameters:
this |
The Iterator to fold over |
func |
the fold function |
ret |
the seed value passed to the fold function |
user_data |
user data passed to the fold function |