inst/examples/ilimit.R

library(iterators)

ilimit <- function(it, times) {
  it <- iter(it)

  nextEl <- function() {
    if (times > 0)
      times <<- times - 1
    else
      stop('StopIteration')

    nextElem(it)
  }

  obj <- list(nextElem=nextEl)
  class(obj) <- c('ilimit', 'abstractiter', 'iter')
  obj
}

it <- ilimit(icount(Inf), 3)
print(nextElem(it))
print(nextElem(it))
print(nextElem(it))
print(tryCatch(nextElem(it), error=function(e) e))

Try the iterators package in your browser

Any scripts or data that you put into this service are public.

iterators documentation built on May 2, 2019, 5:17 p.m.