R 如何测试函数';什么是环境?
给定函数R 如何测试函数';什么是环境?,r,function,environment,R,Function,Environment,给定函数f(),如下所示: f = function(a) { if(a > 0) b = 2 c = exists('b') return(c) } 如何指定exists()函数只应在函数f中搜索 在空白环境中,调用f(-5)将返回我想要的FALSE,但如果我这样做了 b = "hello" f(-5) 然后我得到TRUE。如何使f(-5)返回FALSE,即使用户的脚本中在函数f之外的其他地方定义了b 我认为这与exists()的where参数有关,但我不知道调用此参数的
f()
,如下所示:
f = function(a) {
if(a > 0) b = 2
c = exists('b')
return(c)
}
如何指定exists()
函数只应在函数f
中搜索
在空白环境中,调用f(-5)
将返回我想要的FALSE
,但如果我这样做了
b = "hello"
f(-5)
然后我得到TRUE
。如何使f(-5)
返回FALSE
,即使用户的脚本中在函数f
之外的其他地方定义了b
我认为这与exists()
的where
参数有关,但我不知道调用此参数的合适环境是什么。我还没有完全了解R
谢谢 只需使用exists的
inherits=
参数即可。有关更多信息,请参阅“存在”
帮助页
b <- 100
f <- function(a) {
if(a > 0) b <- 2
c <- exists('b', inherits=FALSE)
return(c)
}
f(5)
# [1] TRUE
f(-5)
# [1] FALSE
b天哪:RTFM又赢了!:-)