Если я хочу узнать, что хранится в аргументе ...
в функции R, я могу просто преобразовать его в список, например
foo <- function(...)
{
dots <- list(...)
print(dots)
}
foo(x = 1, 2, "three")
#$x
#[1] 1
#
#[[2]]
#[1] 2
#
#[[3]]
#[1] "three"
Я не могу понять, как оценить ...
в вызывающей функции. В следующем примере я хочу, чтобы содержимое baz
возвращало аргумент ...
в bar
.
bar <- function(...)
{
baz()
}
baz <- function()
{
# What should dots be assigned as?
# I tried
# dots <- get("...", envir = parent.frame())
# and variations of
# dots <- eval(list(...), envir = parent.frame())
print(dots)
}
bar(x = 1, 2, "three")
get("...", envir = parent.frame())
возвращает <...>
, что выглядит многообещающе, но я не могу понять, как извлечь из него что-нибудь полезное.
eval(list(...), envir = parent.frame())
выдает ошибку, утверждая, что ...
используется неправильно.
Как я могу получить ...
из bar
?