从省略号中提取参数值而不评估其他参数
Extract value of argument from ellipsis without evaluating other arguments
在函数中,如何从函数中提取参数的值
省略号,不计算省略号中的任何其他参数?
具体来说,我如何从下面的调用中将此函数的主体修改为 return "get me"
?
foo <- function(...) {
if (hasArg(bar)) {
list(...)[["bar"]]
}
}
foo(bar = paste("get", "me"), baz = oops)
#> Error in foo(bar = paste("get", "me"), baz = oops): object 'oops' not found
您可以捕获调用并自己显式评估参数
foo <- function(...) {
if (hasArg(bar)) {
eval.parent(match.call()[["bar"]])
}
}
foo(bar = paste("get", "me"), baz = oops)
# [1] "get me"
在函数中,如何从函数中提取参数的值 省略号,不计算省略号中的任何其他参数?
具体来说,我如何从下面的调用中将此函数的主体修改为 return "get me"
?
foo <- function(...) {
if (hasArg(bar)) {
list(...)[["bar"]]
}
}
foo(bar = paste("get", "me"), baz = oops)
#> Error in foo(bar = paste("get", "me"), baz = oops): object 'oops' not found
您可以捕获调用并自己显式评估参数
foo <- function(...) {
if (hasArg(bar)) {
eval.parent(match.call()[["bar"]])
}
}
foo(bar = paste("get", "me"), baz = oops)
# [1] "get me"