Learn R Programming

purrr (version 1.0.2)

slowly: Wrap a function to wait between executions

Description

slowly() takes a function and modifies it to wait a given amount of time between each call.

Usage

slowly(f, rate = rate_delay(), quiet = TRUE)

Value

A function that takes the same arguments as .f, but returns a different value, as described above.

Arguments

f

A function to modify, specified in one of the following ways:

  • A named function, e.g. mean.

  • An anonymous function, e.g. \(x) x + 1 or function(x) x + 1.

  • A formula, e.g. ~ .x + 1. Only recommended if you require backward compatibility with older versions of R.

rate

A rate object. Defaults to a constant delay.

quiet

Hide errors (TRUE, the default), or display them as they occur?

Adverbs

This function is called an adverb because it modifies the effect of a function (a verb). If you'd like to include a function created an adverb in a package, be sure to read faq-adverbs-export.

See Also

Other adverbs: auto_browse(), compose(), insistently(), negate(), partial(), possibly(), quietly(), safely()

Examples

Run this code
# For these example, we first create a custom rate
# with a low waiting time between attempts:
rate <- rate_delay(0.1)

# slowly() causes a function to sleep for a given time between calls:
slow_runif <- slowly(\(x) runif(1), rate = rate, quiet = FALSE)
out <- map(1:5, slow_runif)

Run the code above in your browser using DataLab