local_ | R Documentation |
These are constructors for with_...
or local_...
functions.
They are only needed if you want to alter some global state which is not
covered by the existing with_...
functions, see withr
for an overview.
local_(
set,
reset = set,
get = NULL,
...,
envir = parent.frame(),
new = TRUE,
dots = FALSE
)
with_(set, reset = set, get = NULL, ..., envir = parent.frame(), new = TRUE)
set |
|
reset |
|
get |
For technical reasons, this getter function must have the same
interface as |
... |
These dots are for future extensions and must be empty. |
envir |
|
new |
|
The with_...
functions reset the state immediately after the
code
argument has been evaluated. The local_...
functions
reset their arguments after they go out of scope, usually at the end of the
function body.
[function(new, code, ...)]
A function with at least two arguments,
new
: New state to use
code
: Code to run in that state.
If there are more arguments to the function passed in set
they are
added to the returned function. If set
does not have arguments,
or new
is FALSE
, the returned function does not have a code
argument.
with_(setwd)
global_stack <- list()
set_global_state <- function(state, msg = "Changing global state.") {
global_stack <- c(list(state), global_stack)
message(msg)
state
}
reset_global_state <- function(state) {
old_state <- global_stack[[1]]
global_stack <- global_stack[-1]
stopifnot(identical(state, old_state))
}
with_(set_global_state, reset_global_state)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.