验证 R 中函数内的对象是否存在

Verify object existence inside a function in R

我想确定一个对象是否存在于 R 函数中:

foo <- function() {
 y <- "hello" 
 if (exists(y, envir = sys.frame())) print(y)
}
foo()

Error in exists(y, envir = sys.frame()) : invalid first argument

我认为添加 envir = sys.frame() 就可以了。也试过envir = environment()

预计

foo()
"hello"

你应该检查过 ?exists:

Usage:

     exists(x, where = -1, envir = , frame, mode = "any",
            inherits = TRUE)

Arguments:

       x: a variable name (given as a character string).

exists("y")