子功能
必須在該函式內定義函式內呼叫的函式(即子函式),以訪問本地環境中定義的任何變數而不傳遞。
這失敗了:
bar <- function() {
z <- x + y
return(z)
}
foo <- function() {
y <- 3
z <- bar()
return(z)
}
foo()
bar()
出錯:找不到物件’y'
這有效:
foo <- function() {
bar <- function() {
z <- x + y
return(z)
}
y <- 3
z <- bar()
return(z)
}
foo()
4