Ins*_*nds 5 environment r scoping
我想确定一个对象是否存在于R中的函数内:
foo <- function() {
y <- "hello"
if (exists(y, envir = sys.frame())) print(y)
}
foo()
Run Code Online (Sandbox Code Playgroud)
存在错误(y,envir = sys.frame()):第一个参数无效
我想添加envir = sys.frame()就可以了.也试过了envir = environment()
预期
foo()
"hello"
Run Code Online (Sandbox Code Playgroud)
你应该检查过?exists:
Usage:
exists(x, where = -1, envir = , frame, mode = "any",
inherits = TRUE)
Arguments:
x: a variable name (given as a character string).
Run Code Online (Sandbox Code Playgroud)
做 exists("y")