R/globalsByName.R
globalsByName.RdLocates and retrieves a set of global variables by their names
globalsByName(names, envir = parent.frame(), mustExist = TRUE, ...)A Globals object of named elements and an attribute
where with named elements. Both of sets have names according to
names.
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.
f <- function(x = 42, ...) {
globalsByName("x")
}
globals <- f()
str(globals)
#> List of 1
#> $ x: num 42
#> - attr(*, "where")=List of 1
#> ..$ x:<environment: 0x55fe738111c8>
#> - 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: 0x55fe739dbea0>
#> - 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: 0x55fe73b4e1a0>
#> - 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: 0x55fe73cfab00>
#> - 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: 0x55fe73eac7b8>
#> - 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: 0x55fe741a5f30>
#> - 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: 0x55fe7446bdd8>
#> - 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: 0x55fe74612998>
#> - attr(*, "class")= chr [1:2] "Globals" "list"