match.call () возвращает ..1 при вычислении в подфункции - PullRequest
1 голос
/ 09 мая 2020

У меня две функции

fn1 <- function(...) {
  fn2(...)
}

У меня есть вторая функция

fn2 <- function(...) {
  match.call(expand.dots = FALSE)$...
}

Вызов первой функции с символом не возвращает ожидаемого значения

fn1(test)
# [[1]]
# ..1

Я ожидал бы возврата test (a symbol).

1 Ответ

2 голосов
/ 09 мая 2020

Мы можем использовать substitute

fn2 <- function(...) {
     eval(substitute(alist(...) ))

   }
fn2(test)
#[[1]]
#test
fn1(test)
#[[1]]
#test
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...