withr v2.1.2

0

Monthly downloads

0th

Percentile

Run Code 'With' Temporarily Modified Global State

A set of functions to run code 'with' safely and temporarily modified global state. Many of these functions were originally a part of the 'devtools' package, this provides a simple package with limited dependencies to provide access to these functions.

Readme

Withr - Run Code ‘With’ Modified State

Travis-CI Build
Status AppVeyor Build
Status Coverage
status CRAN
Version

A set of functions to run code ‘with’ safely and temporarily modified global state. There are two sets of functions, those prefixed with with_ and those with local_. The former reset their state as soon as the code argument has been evaluated. The latter reset when they reach the end of their scope, usually at the end of a function body.

Many of these functions were originally a part of the devtools package, this provides a simple package with limited dependencies to provide access to these functions.

  • with_collate() / local_collate() - collation order
  • with_dir() / local_dir() - working directory
  • with_envvar() / local_envvar() - environment variables
  • with_libpaths() / local_libpaths() - library paths
  • with_locale() / local_locale() - any locale setting
  • with_makevars() / local_makevars() - Makevars variables
  • with_options() / local_options() - options
  • with_par() / local_par() - graphics parameters
  • with_path() / local_path() - PATH environment variable
  • with_*() and local_() functions for the built in R devices, bmp, cairo_pdf, cairo_ps, pdf, postscript, svg, tiff, xfig, png, jpeg.
  • with_connection() / local_connection() - R connections.
  • with_package(), with_namespace() and with_environment() - to run code with modified object search paths.
  • with_tempfile() / local_tempfile() - Create and clean up a temp file.
  • with_file() / local_file() - Create and clean up a normal file.

There are also with_() and local_() functions to construct new with_* and local_* functions if needed.

Sys.getenv("WITHR")
#> [1] ""
with_envvar(c("WITHR" = 2), Sys.getenv("WITHR"))
#> [1] "2"
Sys.getenv("WITHR")
#> [1] ""

with_envvar(c("A" = 1),
  with_envvar(c("A" = 2), action = "suffix", Sys.getenv("A"))
)
#> [1] "1 2"

local functions

These functions are variants of the corresponding with_() function, but rather than resetting the value at the end of the function call they reset when the current context goes out of scope. This is most useful for using within functions.

f <- function(x) {
  local_envvar(c("WITHR" = 2))
  Sys.getenv("WITHR")
}
Sys.getenv("WITHR")
#> [1] ""

See Also

Functions in withr

Name Description
with_connection Connections which close themselves
with_locale Locale settings
local_ Create a new "with" or "local" function
with_libpaths Library paths
withr Execute code in temporarily altered environment
with_makevars Makevars variables
with_collate Collation Order
devices Graphics devices
defer Defer Evaluation of an Expression
with_db_connection DBMS Connections which disconnect themselves.
with_options Options
with_envvar Environment variables
with_package Execute code with a modified search path
with_dir Working directory
with_tempfile Temporary files
with_sink Output redirection
with_par Graphics parameters
with_seed Random seed
with_path PATH environment variable
with_file Files which delete themselves
with_temp_libpaths Library paths
with_gctorture2 Torture Garbage Collector
set_makevars Create a new Makevars file, by adding new variables
No Results!

Vignettes of withr

Name
releases/withr-2.1.0.Rmd
withr.Rmd
No Results!

Last month downloads

Details

Encoding UTF-8
URL http://withr.r-lib.org, http://github.com/r-lib/withr#readme
BugReports http://github.com/r-lib/withr/issues
License GPL (>= 2)
LazyData true
RoxygenNote 6.0.1
Collate 'local_.R' 'with_.R' 'collate.R' 'connection.R' 'db.R' 'defer.R' 'wrap.R' 'devices.R' 'dir.R' 'env.R' 'file.R' 'libpaths.R' 'locale.R' 'makevars.R' 'namespace.R' 'options.R' 'par.R' 'path.R' 'seed.R' 'sink.R' 'tempfile.R' 'torture.R' 'utils.R' 'with.R'
VignetteBuilder knitr
NeedsCompilation no
Packaged 2018-03-15 13:59:37 UTC; jhester
Repository CRAN
Date/Publication 2018-03-15 22:39:56 UTC

Include our badge in your README

[![Rdoc](http://www.rdocumentation.org/badges/version/withr)](http://www.rdocumentation.org/packages/withr)