问题:
我需要一个只接受一个参数但需要访问其他一些变量的函数。我不想将这些存储在.GlobalEnv
.
当前解决方案: 使用一个接受所有需要参数的函数,创建另一个适应环境的函数。
例子:
library(rlang)
foo <- function(a, b){
bar <- function(c){
out <- a + b + c
out
}
set_env(bar, get_env())
bar
}
bar <- foo(1, 2)
bar(3)
我坚信这种方法有缺点,但我无法确定这些缺点可能是什么。如果你能帮助我,我会很高兴。