This function will return a number corresponding to the system time and remain stable until a given number of seconds have elapsed, after which it will update to the current time. This makes it useful as a way to timeout and invalidate a memoised cache after a certain period of time.

timeout(seconds, current = as.numeric(Sys.time()))

## Arguments

seconds Number of seconds after which to timeout. The current time as a numeric.

## Value

A numeric that will remain constant until the seconds have elapsed.

memoise
a <- function(n) { runif(n) }
memA(2)#> [1] 0.4321713 0.7064338