mask_function2: Mask a function with given variables

View source: R/language.R

mask_function2R Documentation

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())

Arguments

f

any function

..., .list

name-value pairs to mask the function

Value

a masked function

Examples


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


dipsaus documentation built on July 9, 2023, 5:43 p.m.