Skip to content

Try evaluating an expressing multiple times until it succeeds.

Usage

try_again(times, code)

Arguments

times

Maximum number of attempts.

code

Code to evaluate

Examples

third_try <- local({
  i <- 3
  function() {
    i <<- i - 1
    if (i > 0) fail(paste0("i is ", i))
  }
})
try_again(3, third_try())