Сколько аргументов функции от функции OUTSIDE

В 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(...), где оптимизированная функция определяется и генерируется во время выполнения.

Ответ 1

Возможный подход:

b <- function(x, y) {}
length(formals(b))
# [1] 2