如何使用变量的当前值构建函数?
以下是一个例子:
x <- 2
f <- function() { return(x) }
x <- 3
f() # evaluates to 3 as expected, but I'd like it to evaluate to 2.
答案 0 :(得分:3)
这是R的词汇范围派上用场:
MakeF <- function() {
x <- x
f <- function() {
return(x)
}
return(f)
}
x <- 2
f <- MakeF()
x <- 3
给出了:
> f()
[1] 2