我如何知道函数的参数个数?

时间:2017-07-27 12:43:10

标签: r

我们如何知道函数有多少参数?

例如,对于给定的函数f,我想这样做:

if (arg_number(f) == 0)
  f()
else if (arg_number(f) == 1)
  f(FALSE)

1 个答案:

答案 0 :(得分:5)

nargs():将检查函数中的参数数量 The Number of Arguments to a Function

修改
formalsaccess 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