R/populate.R
create_env.Rd
Leverages makeActiveBinding() by allowing parametrized functions that take the name of the binding and an arbitrary number of additional arguments.
create_env(names, fun, ..., .envir = parent.frame(), .enclos = parent.frame())
populate_env(env, names, fun, ..., .envir = parent.frame())
A name, or a list of names, or a character vector; in the latter case the names are mangled if they are not representable in the native encoding
A function with at least one argument, which will be called
to compute the value of a binding. The function will be called with the
binding name as first argument (unnamed), and ...
as additional arguments
Additional arguments to fun
The environment in which fun
will be executed,
important if fun
calls other functions that are not globally visible
The enclosing environment (parent.env
) for the newly created environment
An environment
env <- create_env(letters, paste0, "-lowercase")
env$a
#> [1] "a-lowercase"
env$c
#> [1] "c-lowercase"
env$Z
#> NULL
populate_env(env, LETTERS, paste0, "-uppercase")
env$a
#> [1] "a-lowercase"
env$Z
#> [1] "Z-uppercase"