一个函数从外部需要多少个参数?

10

在 R 中,我该如何确定一个函数期望的参数数量?

fa = function(x){}
fb = function(x,y){}
fc = function(x,y,z){}

所以我想定义一个函数,f,它应该满足以下条件:

f(fa) = 1
f(fb) = 2
f(fc) = 3

等等类似的事情...

基本上,我想要nargs()的效用,但是从相关函数之外获取。

上述的原因是,我需要知道一个函数期望的参数数量,对于特定实现的optim(...)来说,被优化的函数在运行时决定并生成。


6
也许这里使用“formals”会有帮助,例如,“formals(optim)”。 - lmo
1
你不会把c()当作函数名使用,对吧? :) - neilfws
2
x <- function(a = 1, b = 2)a ^ b; length(formals(x)); # 2 - zx8754
@neilfws 哈哈,好的。改了名字,谢谢。 - Nicholas Hamilton
1个回答

8
一种可能的方法是:
b <- function(x, y) {}
length(formals(b))
# [1] 2

就是那个。干杯。 - Nicholas Hamilton

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接