Iterator that returns elements while a predicate function returns TRUE
Source:R/itakewhile.R
i_keepwhile.Rd
Constructs an iterator that returns elements from an iterable object
as long as the given predicate
function returns TRUE
.
Arguments
- object
an iterable object
- predicate
a function that determines whether an element is
TRUE
orFALSE
. The function is assumed to take only one argument.- ...
passed along to
iteror(object, ...)
Examples
# 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
#> [1] TRUE TRUE TRUE TRUE TRUE
# 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)
#> [1] TRUE TRUE TRUE TRUE TRUE