itertools (version 0.1-3)

ibreak: Create an iterator that can be told to stop

Description

Create an iterator that iterates over another iterator until a specified function returns FALSE. This can be useful for breaking out of a foreach loop, for example.

Usage

ibreak(iterable, finished)

Arguments

iterable
Iterable to iterate over.
finished
Function that returns a logical value. The iterator stops when this function returns FALSE.

Examples

Run this code
# See how high we can count in a tenth of a second
mkfinished <- function(time) {
  starttime <- proc.time()[3]
  function() proc.time()[3] > starttime + time
}
length(as.list(ibreak(icount(), mkfinished(0.1))))

Run the code above in your browser using DataLab