Learn R Programming

iterors (version 1.0)

i_keepwhile: Iterator that returns elements while a predicate function returns TRUE

Description

Constructs an iterator that returns elements from an iterable object as long as the given predicate function returns TRUE.

Usage

i_keepwhile(object, predicate, ...)

Value

iterator object

Arguments

object

an iterable object

predicate

a function that determines whether an element is TRUE or FALSE. The function is assumed to take only one argument.

...

passed along to iteror(object, ...)

Examples

Run this code
# Filters out numbers exceeding 5
not_too_large <- function(x) {
  x <= 5
}
it <- i_keepwhile(1:100, not_too_large)
unlist(as.list(it)) == 1:5

# Same approach but uses an anonymous function
it2 <- i_keepwhile(seq(2, 100, by=2), function(x) x <= 10)
unlist(as.list(it2)) == c(2, 4, 6, 8, 10)

Run the code above in your browser using DataLab