如何获得函数调用中省略号所使用的参数名称,无论它们是否被打包到列表中?
如果参数直接传递给函数,以下函数效果很好。
foo <- function(...) {
sapply(substitute(...()), deparse)
}
a <- 1:3
b <- 2:6
foo(a, b)
result: "a" "b"
现在我将参数显式地打包成列表,以使我的代码更加易于管道操作:
foo(list(a, b))
result: "list(a, b)"
函数foo也应该能够使用它来仅返回a和b的名称。如何在函数foo内处理这个问题?提前感谢您。
list()
函数?例如,你从不想使用x <- list(a, b); foo(x)
吗?试图进行需要非标准评估的操作而没有更多编程交互的替代方案通常会导致以后头疼的情况。 - MrFlick|>
而不是%>%
?因为使用后者,您无法将未评估的符号传递给管道。list(a,b) |> foo()
与list(a,b) %>% foo()
是完全不同的。 - MrFlick