以参照透明的方式从函数的省略号参数中提取符号

红外光谱

又发生了 我正要按下按钮以发布答案的问题已删除:

我正在寻找一种从函数的省略号参数中提取绑定到符号以及符号的对象的值的方法。也就是说,我试图以参照透明的方式从省略号中提取符号。我尝试过使用替代品和lazy_dots,但没有成功。

 # function I'm trying to create
 get_symbols <- function(...) {
     # insert code here
     # should return a character vector of symbols
 }

# example function calls
some_function <- function(...){
    get_symbols(...)
}

z <- quote(T)
some_function(quote(x), ~y, z)
# should return vector of symbols c(x, ~y, T)

some_function(quote(x), ~y, quote(T))
# should return vector of symbols c(x, ~y, T)
红外光谱

查看substitute和的这些用法deparse是否有帮助。deparse函数从(有效)语言表达式返回文本/字符向量。

 some_function1 <- function(...){
         print(sapply( substitute(list(...)), deparse)[-1]) # -1 drops "list"
     }

     z <- quote(T)
     some_function1(quote(x), ~y, z)
#[1] "quote(x)" "~y"       "z"       
     some_function1(quote(x), ~y, quote(T))
#[1] "quote(x)" "~y"       "quote(T)"

此版本评估其参数,这可能是所需参数的第二部分,即值:

 some_function2 <- function(...){
         print(sapply(list(...), deparse))
     }

     z <- quote(T)
     some_function2(quote(x), ~y, z)
#[1] "x"  "~y" "T" 
     some_function2(quote(x), ~y, quote(T))
#[1] "x"  "~y" "T" 

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

从省略号中提取参数值,而无需评估其他参数

来自分类Dev

从省略号中提取参数值,而无需评估其他参数

来自分类Dev

使函数对help()函数中的参数使用省略号

来自分类Dev

嵌套函数调用和省略号的名称相同的参数

来自分类Dev

有什么办法以编程方式区分最终参数数组和最终参数省略号?

来自分类Dev

在C中用省略号传递参数

来自分类Dev

省略号作为可变参数模板之外的构造函数参数

来自分类Dev

是否应该在可变参数函数中的省略号(...)之前直接声明count参数?

来自分类Dev

函数参数中的省略号是否使用与普通参数相同的调用布局

来自分类Dev

如何使用自己的自定义函数(而不是vprintf等)处理可变参数(通过省略号)?

来自分类Dev

如何将省略号运算符得到的参数传递给其他函数?

来自分类Dev

在自定义函数中包含额外的(省略号/点点)参数

来自分类Dev

如何将省略号运算符得到的参数传递给其他函数?

来自分类Dev

如何使用自己的自定义函数(而不是vprintf等)处理可变参数(通过省略号)?

来自分类Dev

省略号出现在模板函数的参数声明中

来自分类Dev

为什么我要把省略号放在函数的参数中?

来自分类Dev

使用嵌套函数时,为什么 R 省略号 (...) 匹配更多参数?

来自分类Dev

如何输入省略号之类的标点符号?

来自分类Dev

处理省略号

来自分类Dev

结构省略号

来自分类Dev

使用省略号将参数传递给函数,并为某些参数(如果不存在)设置默认值

来自分类Dev

使用省略号将参数传递给函数,并为某些参数(如果不存在)设置默认值

来自分类Dev

...(省略号)作为函数原型中的一个且唯一的函数参数在C ++中意味着什么?

来自分类Dev

在Rcpp中用省略号传递许多参数(...)

来自分类Dev

如果返回参数,可以复制省略号吗?

来自分类Dev

如何让R识别省略号中的参数向量?

来自分类Dev

多次评估省略号(点),替代参数

来自分类Dev

如何检测通过省略号传递的参数的大小?

来自分类Dev

如何让R识别省略号中的参数向量?

Related 相关文章

  1. 1

    从省略号中提取参数值,而无需评估其他参数

  2. 2

    从省略号中提取参数值,而无需评估其他参数

  3. 3

    使函数对help()函数中的参数使用省略号

  4. 4

    嵌套函数调用和省略号的名称相同的参数

  5. 5

    有什么办法以编程方式区分最终参数数组和最终参数省略号?

  6. 6

    在C中用省略号传递参数

  7. 7

    省略号作为可变参数模板之外的构造函数参数

  8. 8

    是否应该在可变参数函数中的省略号(...)之前直接声明count参数?

  9. 9

    函数参数中的省略号是否使用与普通参数相同的调用布局

  10. 10

    如何使用自己的自定义函数(而不是vprintf等)处理可变参数(通过省略号)?

  11. 11

    如何将省略号运算符得到的参数传递给其他函数?

  12. 12

    在自定义函数中包含额外的(省略号/点点)参数

  13. 13

    如何将省略号运算符得到的参数传递给其他函数?

  14. 14

    如何使用自己的自定义函数(而不是vprintf等)处理可变参数(通过省略号)?

  15. 15

    省略号出现在模板函数的参数声明中

  16. 16

    为什么我要把省略号放在函数的参数中?

  17. 17

    使用嵌套函数时,为什么 R 省略号 (...) 匹配更多参数?

  18. 18

    如何输入省略号之类的标点符号?

  19. 19

    处理省略号

  20. 20

    结构省略号

  21. 21

    使用省略号将参数传递给函数,并为某些参数(如果不存在)设置默认值

  22. 22

    使用省略号将参数传递给函数,并为某些参数(如果不存在)设置默认值

  23. 23

    ...(省略号)作为函数原型中的一个且唯一的函数参数在C ++中意味着什么?

  24. 24

    在Rcpp中用省略号传递许多参数(...)

  25. 25

    如果返回参数,可以复制省略号吗?

  26. 26

    如何让R识别省略号中的参数向量?

  27. 27

    多次评估省略号(点),替代参数

  28. 28

    如何检测通过省略号传递的参数的大小?

  29. 29

    如何让R识别省略号中的参数向量?

热门标签

归档