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()
     .BaseNamespaceEnv
     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 object '.BaseNamespaceEnv' is the namespace environment for
     the base package.  The environment of the base package itself is
     represented by 'NULL'.

     The replacement 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.

     'is.environment' is generic: you can write methods to handle
     specific classes of objects, see InternalMethods.

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)  # these two have parent package:base.
     e2 <- new.env(FALSE, NULL)
     assign("a", 3, env=e2)
     parent.env(e1) <- e2
     get("a", env=e1)

