R/globalsByName.R
globalsByName.Rd
Locates 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: 0x5a1990880680>
#> - 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: 0x5a19902dd280>
#> - 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: 0x5a19900788c0>
#> - 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: 0x5a198fea3be0>
#> - 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: 0x5a199172ec38>
#> - 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: 0x5a1991ae37e8>
#> - 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: 0x5a1991ced078>
#> - 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: 0x5a1991f504b8>
#> - attr(*, "class")= chr [1:2] "Globals" "list"