Locates and retrieves a set of global variables by their names
Source:R/globalsByName.R
globalsByName.RdLocates and retrieves a set of global variables by their names
Usage
globalsByName(names, envir = parent.frame(), mustExist = TRUE, ...)Value
A Globals object of named elements and an attribute
where with named elements. Both of sets have names according to
names.
Special "argument" globals
If names specifies "...", "..1", "..2", ..., then they
are interpreted as arguments ..., ..1, ..2, ..., respectively.
If specified, then the corresponding elements in the results are
lists of class DotDotDotList comprising the value of the latter.
If the special argument does not exist, then the value is NA, and
the corresponding where attributes is NULL.
Examples
f <- function(x = 42, ...) {
globalsByName("x")
}
globals <- f()
str(globals)
#> List of 1
#> $ x: num 42
#> - attr(*, "where")=List of 1
#> ..$ x:<environment: 0x5561ce68aa08>
#> - attr(*, "class")= chr [1:2] "Globals" "list"
globals <- f(3.14)
str(globals)
#> List of 1
#> $ x: num 3.14
#> - attr(*, "where")=List of 1
#> ..$ x:<environment: 0x5561cd3e58b8>
#> - attr(*, "class")= chr [1:2] "Globals" "list"
g <- function(x = 42, ...) {
globalsByName("...")
}
globals <- g()
str(globals)
#> List of 1
#> $ ...: list()
#> ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list"
#> - attr(*, "where")=List of 1
#> ..$ ...:<environment: 0x5561cfb12b60>
#> - attr(*, "class")= chr [1:2] "Globals" "list"
globals <- g(3.14)
str(globals)
#> List of 1
#> $ ...: list()
#> ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list"
#> - attr(*, "where")=List of 1
#> ..$ ...:<environment: 0x5561d0374eb8>
#> - attr(*, "class")= chr [1:2] "Globals" "list"
globals <- g(3.14, 1L, b = 2L, c = 3L)
str(globals)
#> List of 1
#> $ ...:List of 3
#> ..$ : int 1
#> ..$ b: int 2
#> ..$ c: int 3
#> ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list"
#> - attr(*, "where")=List of 1
#> ..$ ...:<environment: 0x5561d08a2288>
#> - attr(*, "class")= chr [1:2] "Globals" "list"
h <- function(x = 42, ...) {
globalsByName("..2")
}
globals <- h(x = 3.14, a = 1, b = 2)
str(globals)
#> List of 1
#> $ ..2:List of 1
#> ..$ : num 2
#> ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list"
#> - attr(*, "where")=List of 1
#> ..$ ..2:<environment: 0x5561d0c2feb0>
#> - attr(*, "class")= chr [1:2] "Globals" "list"
globals <- g(3.14)
str(globals)
#> List of 1
#> $ ...: list()
#> ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list"
#> - attr(*, "where")=List of 1
#> ..$ ...:<environment: 0x5561d0f23bf8>
#> - attr(*, "class")= chr [1:2] "Globals" "list"
globals <- g(3.14, 1L, b = 2L, c = 3L)
str(globals)
#> List of 1
#> $ ...:List of 3
#> ..$ : int 1
#> ..$ b: int 2
#> ..$ c: int 3
#> ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list"
#> - attr(*, "where")=List of 1
#> ..$ ...:<environment: 0x5561d112dd20>
#> - attr(*, "class")= chr [1:2] "Globals" "list"