R/times.R

Defines functions times.numeric times

Documented in times

#' Run an expression N times
#'
#' @export
#' @examples
#' times(3, print("fart"))
#' times(3, head(mtcars))
#' times(10, rnorm(5))
#' 10 %>% times(rnorm(5))
times <- function(x, ...) {
  UseMethod("times")
}

#' @export
times.numeric <- function(x, ...) {
  dots <- lazyeval::lazy_dots(...)
  if (length(dots) == 1 && !purrr:::has_names(dots)) {
    dots <- dots[[1]]
  }
  out <- vector("list", x)
  for (i in seq_len(x)) {
    out[[i]] <- lazyeval::lazy_eval(dots)
  }
  out
}
sckott/dottimes documentation built on Dec. 1, 2020, 5:29 p.m.