environment               package:base               R Documentation

Environment Access

Description:

     Get, set, test for and create environments.

Usage:

     environment(fun = NULL)
     environment(fun) <- value
     is.environment(obj)
     .GlobalEnv
     globalenv()
     new.env(hash=FALSE, parent=parent.frame())
     parent.env(env)
     parent.env(env) <- value

Arguments:

     fun: a `function', a `formula', or `NULL', which is the default.

   value: an environment to associate with the function

     obj: an arbitrary R object.

    hash: a logical, if `TRUE' the environment will be hashed

  parent: an environment to be used as the parent of the environment
          created.

     env: an environment

Details:

     The global environment `.GlobalEnv' is the first item on the
     search path, more often known as the user's workspace.  It can
     also be accessed by `globalenv()'.

     The variable `.BaseNamespaceEnv' is part of some experimental
     support for name space management.

     The assignment function `parent.env<-' is extremely dangerous as
     it can be used to destructively change environments in ways that
     violate assumptions made by the internal C code.  It may be
     removed in the near future.

Value:

     If `fun' is a function or a formula then `environment(fun)'
     returns the environment associated with that function or formula.
     If `fun' is `NULL' then the current evaluation environment is
     returned.

     The assignment form sets the environment of the function or
     formula `fun' to the `value' given.

     `is.environment(obj)' returns `TRUE' iff `obj' is an
     `environment'.

     `new.env' returns a new (empty) environment enclosed in the
     parent's environment, by default.

     `parent.env' returns the parent environment of its argument.

     `parent.env<-' sets the parent environment of its first argument.

See Also:

     The `envir' argument of `eval'.

Examples:

     ##-- all three give the same:
     environment()
     environment(environment)
     .GlobalEnv

     ls(envir=environment(approxfun(1:2,1:2, method="const")))

     is.environment(.GlobalEnv)# TRUE

     e1 <- new.env(TRUE, NULL)
     e2 <- new.env(FALSE, NULL)
     assign("a", 3, env=e2)
     parent.env(e1) <- e2
     get("a", env=e1)

