funEnv function

List-like Environment of Functions (and More)

List-like Environment of Functions (and More)

Construct a list , really an environment

typically of functions and optionally other objects, where the functions and formulas all all share the same environment. Consequently, the functions may call each other.

On technical level, this is just a simple wrapper around list2env().

funEnv(..., envir = NULL, parent = parent.frame(), hash = (...length() > 100), size = max(29L, ...length()))

Arguments

  • ...: an arbitrary named list of objects, typically including several functions.
  • envir: an environment or NULL.
  • parent: (for the case envir = NULL): a parent frame aka enclosing environment, see new.env and list2env.
  • hash, size: (for the case envir = NULL): hash a logical indicating if the created environment should use hashing, and (size) the hash size, see list2env.

Returns

an environment, say E, containing the objects from ... (plus those in envir), and all function objects' environment() is E.

Author(s)

Martin Maechler

See Also

list2env, environment

Examples

ee <- funEnv(f = function(x) g(2*(x+1)), g = function(y) hh(y+1), hh = function(u) u^2, info = "Some Information (not a function)") ls(ee) # here the same as names(ee) ## Check that it works: i.e., that "f sees g" and "g sees hh": stopifnot(all.equal(ee$f(pi), (2*pi+3)^2)) ee$f(0:4) # [1] 9 25 49 81 121
  • Maintainer: Martin Maechler
  • License: GPL (>= 2)
  • Last published: 2024-11-05