addtoenv: Add Functions from a Non-nested List of Named Functions to a...

Description Usage Arguments Details Value Note See Also Examples

View source: R/addtoenv.R

Description

Create and set an environment where elements (e.g. functions) within a non-nested named list of functions see each other. This function is normally used within other functions.

Usage

1

Arguments

L

a non-nested list of named functions.

p

the environment where the functions are assigned to. Defaults to the parent frame.

Details

This function is used by the ‘solver functions’ of simecol.

Value

The list of functions within a common environment.

Note

This is a very special function that uses environment manipulations. Its main purpose is to ‘open’ the access to interdependend functions within a common list structure (function list).

See Also

attach, environment

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
eq <- list(f1 = function(x, y)    x + y,
           f2 = function(a, x, y) a * f1(x, y)
          )

fx <- function(eq) {
  eq <- addtoenv(eq)
  print(ls())
  print(environment(eq$f1))
  f1(3,4) + f2(1,2,3)
}

fx(eq)
## eq$f2(2,3,4)       # should give an error outside fx
environment(eq$f2)    # should return R_GlobalEnv again

simecol documentation built on July 16, 2019, 3:01 a.m.