验证函数本地上下文中是否存在对象

时间:2019-10-03 11:10:44

标签: r

如何检查变量在函数的本地上下文中是否存在 ,而不是全局上下文中?像这样:

aabb <- 1
ccdd <- 2
fff <- function () {
    yyzz <- 1
    ccdd <- c(1, 2)
    different.variant.of.exists("yyzz") # should report TRUE
    different.variant.of.exists("ccdd") # should report TRUE
    different.variant.of.exists("aabb") # should report FALSE
}

1 个答案:

答案 0 :(得分:0)

不知道为什么@GKi删除了他的答案,因为这就是事实(以及@RuiBarradas所说的!):

existsinherits = FALSE一起使用:

aabb <- 1
ccdd <- 2
fff <- function () {
    yyzz <- 1
    ccdd <- c(1, 2)
    c(exists("yyzz", inherits = FALSE) # should report TRUE
    , exists("ccdd", inherits = FALSE) # should report TRUE
    , exists("aabb", inherits = FALSE)) # should report FALSE
}
fff()
#[1]  TRUE  TRUE FALSE