好了,打电话不具有甲醛,只有实际参数......不同的是像一个函数foo <- function(x, y, ..., z=42)
可以称为与实际一样的参数foo(42, bar=13)
.
...但是获取参数可以这样做:
a <- call('foo', a=42, 13)
as.list(a)[-1]
#$a
#[1] 42
#
#[[2]]
#[1] 13
Run Code Online (Sandbox Code Playgroud)
...另一方面,你通常(并不总是)找到实际的功能并找到它的形式:
a <- quote(which(letters=='g'))
formals(match.fun(a[[1]]))
#$x
#
#$arr.ind
#[1] FALSE
#
#$useNames
#[1] TRUE
Run Code Online (Sandbox Code Playgroud)
如果找不到该功能,你需要添加一些错误处理(与foo
上面的调用一样)......