Как конфертировать из списка в многоточие? - PullRequest
0 голосов
/ 31 октября 2018

Этот ответ Как преобразовать список () в многоточие в R? не удовлетворяет, потому что это не работает для моей проблемы:

Дано:

foo <- function(...) {
  print(length(list(...)))
}

Когда:

foo2 <- function(listArg) {
  # HERE convert from list to ...
  foo(listArg)
}

Тогда все они должны быть равны:

foo() == foo2(list())
foo(1, 2) == foo2(list(1, 2))
foo(1, 2, 3) === foo2(list(1, 2, 3))

Что написать в foo2 "# ЗДЕСЬ преобразовать из списка в ..."

1 Ответ

0 голосов
/ 31 октября 2018

Возможно, это ответит на ваш вопрос:

foo <- function(...) length(list(...))
foo2 <- function(listArg) do.call(foo, listArg)

foo() == foo2(list())
# [1] TRUE
foo(1, 2) == foo2(list(1, 2))
# [1] TRUE
foo(1, 2, 3) == foo2(list(1, 2, 3))
# [1] TRUE

Таким образом, мы не конвертируем список в многоточие, а вызываем foo иначе, выполняя преобразование в вызове.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...