无需评估即可获取引用列表的名称
get names of quoted list without evaluation
我有一个引用列表
quote(list(orders = .N,
total_quantity = sum(quantity)))
(我最终 eval
在 data.table
的 j
部分)
我想要的是提取该列表的 names
而不必评估表达式,因为在正确的环境之外评估表达式会产生错误。
该列表此时没有任何名称。它甚至不是一个列表。这是对 list()
函数的调用。但这就是说您可以解析该函数调用并提取名称参数。例如
x <- quote(list(orders = .N,
total_quantity = sum(quantity)))
names(as.list(x))[-1]
# [1] "orders" "total_quantity"
表达式上的 as.list()
将函数调用转换为一个(命名的)列表而不进行计算。
我有一个引用列表
quote(list(orders = .N,
total_quantity = sum(quantity)))
(我最终 eval
在 data.table
的 j
部分)
我想要的是提取该列表的 names
而不必评估表达式,因为在正确的环境之外评估表达式会产生错误。
该列表此时没有任何名称。它甚至不是一个列表。这是对 list()
函数的调用。但这就是说您可以解析该函数调用并提取名称参数。例如
x <- quote(list(orders = .N,
total_quantity = sum(quantity)))
names(as.list(x))[-1]
# [1] "orders" "total_quantity"
表达式上的 as.list()
将函数调用转换为一个(命名的)列表而不进行计算。