Find head/tail that all satisfies a predicate.

head_while(.x, .p, ...)

tail_while(.x, .p, ...)

## Arguments

.x A list or atomic vector. A single predicate function, a formula describing such a predicate function, or a logical vector of the same length as .x. Alternatively, if the elements of .x are themselves lists of objects, a string indicating the name of a logical element in the inner lists. Only those elements where .p evaluates to TRUE will be modified. Additional arguments passed on to the mapped function.

## Value

A vector the same type as .x.

## Examples

pos <- function(x) x >= 0
head_while(5:-5, pos)#> [1] 5 4 3 2 1 0tail_while(5:-5, negate(pos))#> [1] -1 -2 -3 -4 -5
big <- function(x) x > 100
head_while(0:10, big)#> integer(0)tail_while(0:10, big)#> integer(0)