1

如何使用变量的当前值构造函数?

这是一个例子:

x <- 2
f <- function() { return(x) }
x <- 3
f() # evaluates to 3 as expected, but I'd like it to evaluate to 2.
4

1 回答 1

3

这就是 R 的词法作用域派上用场的地方:

MakeF <- function() {
  x <- x
  f <- function() {
    return(x)
  }
  return(f)
}

x <- 2
f <- MakeF()
x <- 3

这使:

> f()
[1] 2
于 2012-11-22T02:47:55.200 回答