3 回答

TA貢獻(xiàn)1155條經(jīng)驗(yàn) 獲得超0個(gè)贊
checkUsage在codetools包是有幫助的,但不會(huì)讓你一路都有。在myVar未定義的干凈會(huì)話中,
f <- function(myvar) { return(myVar); }
codetools::checkUsage(f)
給
<anonymous>: no visible binding for global variable ‘myVar’
但是一旦定義好myVar,checkUsage就會(huì)很高興。
?codetools在codetools包裝中看到:有可能有用的東西:
> findGlobals(f)
[1] "{" "myVar" "return"
> findLocals(f)
character(0)

TA貢獻(xiàn)1821條經(jīng)驗(yàn) 獲得超6個(gè)贊
使用get(x, inherits=FALSE)將強(qiáng)制本地范圍。
myVar = 1
f2 <- function(myvar) get("myVar", inherits=FALSE)
f3 <- function(myvar){
myVar <- myvar
get("myVar", inherits=FALSE)
}
輸出:
> f2(8)
Error in get("myVar", inherits = FALSE) : object 'myVar' not found
> f3(8)
[1] 8
- 3 回答
- 0 關(guān)注
- 625 瀏覽
添加回答
舉報(bào)