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()andpeek_options()return option values. The former returns the option directly while the latter returns a list.
Usage
local_options(..., .frame = caller_env())
with_options(.expr, ...)
push_options(...)
peek_options(...)
peek_option(name)Arguments
- ...
For
local_options()andpush_options(), named values defining new option values. Forpeek_options(), strings or character vectors of option names.- .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.
Value
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.
Examples
# 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
#>
