local_options()
changes options for the duration of a stack
frame (by default the current one). Options are set back to their
old values when the frame returns.
with_options()
changes options while an expression is
evaluated. Options are restored when the expression returns.
push_options()
adds or changes options permanently.
peek_option()
and peek_options()
return option values. The
former returns the option directly while the latter returns a
list.
local_options(..., .frame = caller_env()) with_options(.expr, ...) push_options(...) peek_options(...) peek_option(name)
... | For |
---|---|
.frame | The environment of a stack frame which defines the scope of the temporary options. When the frame returns, the options are set back to their original values. |
.expr | An expression to evaluate with temporary options. |
name | An option name as string. |
For local_options()
and push_options()
, the old option
values. peek_option()
returns the current value of an option
while the plural peek_options()
returns a list of current
option values.
These functions are experimental.
# Store and retrieve a global option: push_options(my_option = 10) peek_option("my_option") #> [1] 10 # Change the option temporarily: with_options(my_option = 100, peek_option("my_option")) #> [1] 100 peek_option("my_option") #> [1] 10 # The scoped variant is useful within functions: fn <- function() { local_options(my_option = 100) peek_option("my_option") } fn() #> [1] 100 peek_option("my_option") #> [1] 10 # The plural peek returns a named list: peek_options("my_option") #> $my_option #> [1] 10 #> peek_options("my_option", "digits") #> $my_option #> [1] 10 #> #> $digits #> [1] 7 #>