metaAction {shinymeta} | R Documentation |
Run/capture non-reactive code for side effects
Description
Most apps start out with setup code that is non-reactive, such as
library()
calls, loading of static data into local
variables, or source
-ing of supplemental R scripts.
metaAction
provides a convenient way to run such code for its side effects
(including declaring new variables) while making it easy to export that code
using expandChain()
. Note that metaAction
executes code directly in the
env
environment (which defaults to the caller's environment), so any local
variables that are declared in the expr
will be available outside of
metaAction
as well.
Usage
metaAction(expr, env = parent.frame(), quoted = FALSE)
Arguments
expr |
A code expression that will immediately be executed (before the
call to |
env |
An environment. |
quoted |
Is the expression quoted? This is useful when you want to use an expression
that is stored in a variable; to do so, it must be quoted with |
Value
A function that, when called in meta mode (i.e. inside
expandChain()
), will return the code in quoted form. If this function is
ever called outside of meta mode, it throws an error, as it is definitely
being called incorrectly.
Examples
setup <- metaAction({
library(stats)
"# Set the seed to ensure repeatable randomness"
set.seed(100)
x <- 1
y <- 2
})
# The action has executed
print(x)
print(y)
# And also you can emit the code
expandChain(
setup()
)