Я хотел бы иметь возможность передавать текущие аргументы в функции в другую функцию без индивидуального перечисления каждого из аргументов.Это для чуть более сложной функции, которая будет иметь около 15 аргументов с добавлением потенциально большего количества аргументов позже (она основана на API для данных, которые могут добавить более сложные данные позже):
f_nested <- function(a, b, ...) {
c <- a + b
return(c)
}
f_main <- function(a, b) {
d <- do.call(f_nested, as.list(match.call(expand.dots = FALSE)[-1]))
c <- 2 / d
return(c)
}
f_main(2, 3)
#> [1] 0.4
sapply(2:4, function(x) f_main(x, 4))
#> Error in (function (a, b, ...) : object 'x' not found
Создано в 2019-06-28 пакетом представлений (v0.3.0)
Первый вызов f_main (2, 3) дает ожидаемый результат.Однако при переборе вектора значений со значением sapply
возникает ошибка, что объект не был найден.Я подозреваю, что мое match.call()
использование неверно, и я хотел бы иметь возможность перебирать мою функцию.