2016-11-23 36 views

回答

3

您可以设置功能的环境是baseenv()这不会搜索全球环境

x <- 1 
f <- function() return(x); 
environment(f) <- baseenv() 
f() 
# Error in f() : object 'x' not found 

这不“禁用”词汇范围这么多,因为它改变了搜索跳过全球环境。

如果需要,您可以使用baseenv()eval(envir=)new.env(parent=)参数。

x <- 1 
f <- function() 
    eval(parse(text = "x"), 
     envir = baseenv()) 
f() 
# Error in eval(expr, envir, enclos) : object 'x' not found