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