" …"参数
一旦使用“…”,“…”后面的参数必须以指定名称的形式给出,不能隐式给出
- 改造已有函数时用,"…"代表剩下的不变
my <- function(x, y, type = "1", ...){
plot(x, y, type = type, ...) // my与plot,除了x、y、type以外其他的参数不变
}
- 泛型函数
> mean
function(x, ...)
UseMethod("mean")
- 事先不能确定参数的数量
> args(paste)
function(..., sep = " ", collapse = NULL) // paste函数使字符串相连,事先不能确定数量
作用域
y <- 10
f <- function(x) {
y <- 2
y^2 + g(x) // y:局部变量
}
g <- function(x) {
x*y // y:自由变量,y的取值是由g函数定义时决定的
}
> f(3)
[1] 34
f调用g函数,因为g函数不是在f函数中定义的,所以g函数中的y=10
f(3)=22+g(3)
g(3)=310=30
f(3) = 4+30=34