Learn R Programming

dipsaus (version 0.3.1)

mask_function2: Mask a function with given variables

Description

Modifies the default behavior of the function by adding one environment layer on top of input function. The masked variables are assigned directly to the environment.

Usage

mask_function2(f, ..., .list = list())

Value

a masked function

Arguments

f

any function

..., .list

name-value pairs to mask the function

Examples

Run this code

a <- 123
f1 <- function(){
  a + 1
}
f1()   # 124

f2 <- mask_function2(f1, a = 1)
f2()   # a is masked with value 1, return 2

environment(f1)  # global env
environment(f2)  # masked env

env <- environment(f2)
identical(parent.env(env), environment(f1))  # true
env$a  # masked variables: a=1

Run the code above in your browser using DataLab