Если вы хотите захватить все именованные параметры для вашей функции, вы можете использовать formals()
, чтобы получить их имена (и просто отфильтровать "...")
capture_dots <- function(..., arg1) {
args <- Filter(function(x) x!="...", names(formals()))
as.list(environment())[args]
}
capture_dots("abc", arg1 = 1, arg2 = 2)
Или, есливы запускаете его в начале функции, точки не расширяются, и других переменных не будет, поэтому вы можете просто получить текущую среду с помощью
capture_dots <- function(..., arg1) {
as.list(environment())
}