我们如何知道函数有多少参数?
例如,对于给定的函数f
,我想这样做:
if (arg_number(f) == 0)
f()
else if (arg_number(f) == 1)
f(FALSE)
答案 0 :(得分:5)
nargs()
:将检查函数中的参数数量
The Number of Arguments to a Function
修改强>
formals
将access to the arguments of the function
> f <- function(x, y, z) x + y + z
> formals(f)
> $x
> $y
> $z
更新:(来自@Spacedman)
要知道参数的数量,
> length(formals(f))
> [1] 3
此外,
> length(formalArgs(f))
> [1] 3