getAnywhereOption: Get Anywhere Option (generic)

Description Usage Arguments Path-like identifiers Author(s) References See Also Examples

Description

Retrieves option from anywhere inside an option container based on a path-like identifier (e.g. "container/subcontainer/option_name".

Usage

1
2
3
getAnywhereOption(id, where = tryCatch(devtools::as.package(".")$package,
  error = function(cond) {     stop("Invalid default value for `where`") }),
  default = NULL, strict = c(0, 1, 2), ...)

Arguments

id

Signature argument. Object containing path-like name/ID information.

where

Signature argument. Object containing information about the location of the option container that is to be used. Typically, this either corresponds to the name/ID of a package/package project or an instance of a custom class for which suitable methods in the context of managing options are defined (see other methods of this package that have signature arguments id or where).

default

ANY. Value to be returned if option does not exist. See getOption and getNested.

strict

logical. Controls what happens when id points to a non-existing option object:

  • 0: ignore and return FALSE to signal that the assignment process was not successful or fail_value depending on the value of return_status

  • 1: ignore and with warning and return FALSE

  • 2: ignore and with error

...

Further arguments to be passed to subsequent functions/methods.

Path-like identifiers

Values for id are expected to be of structure a/b/c/.../z, i.e. path-like identifiers using a slash as separator. The identifier is transformed to a$b$c$...$z and then in turn to a valid get or assign expression (i.e. something similar to getOptionContainer(...)$a$b$c$...$z and getOptionContainer(...)$a$b$c$...$z <- value). Of course, "atomic" paths (e.g. only a) are also valid.

Author(s)

Janko Thyson janko.thyson@gmail.com

References

http://github.com/Rappster/optionr

See Also

getAnywhereOption-char-char-method, setAnywhereOption, existsAnywhereOption, rmAnywhereOption

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
## Not run: 

## Also see examples at `?setAnywhereOption`
  
##------------------------------------------------------------------------------
## Basics //
##------------------------------------------------------------------------------

container <- initializeOptionContainer(overwrite = TRUE)
setAnywhereOption(id = "test", value = TRUE)
getAnywhereOption(id = "test")

setAnywhereOption(id = "a/b/c", value = 10)
getAnywhereOption(id = "a")
getAnywhereOption(id = "a/b")
getAnywhereOption(id = "a/b/c")
  
##------------------------------------------------------------------------------
## Different `where` //
##------------------------------------------------------------------------------

where <- "test"
container <- initializeOptionContainer(id = where, overwrite = TRUE)
setAnywhereOption(id = "a/b/c", value = 10, where = where)
getAnywhereOption(id = "a/b/c", where = where)

where <- structure(list(id = "test"), class = "OptionContext.Test")
container <- initializeOptionContainer(id = where, overwrite = TRUE)
setAnywhereOption(id = "a/b/c", value = 10, where = where)
getAnywhereOption(id = "a/b/c", where = where)
  

## End(Not run)

rappster/optionr documentation built on May 26, 2019, 11:23 p.m.