子功能
必须在该函数内定义函数内调用的函数(即子函数),以访问本地环境中定义的任何变量而不传递。
这失败了:
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