R将字符/字符串评估为调用函数名称

灰泥

我有一个用例,其中我想将命令行评估args为函数名。例如,

r_script.R print --number 2

我将以r包docopt为例。参数通常由其自己的名称索引,例如,args$print引用字符串value "print"实际的R代码就是

if (args$print){
   if (args$number){
       # call print()
       print(as.numeric(args$number))
   }
}

当我有一长串的函数(例如)时print,我会写一个庞大的函数if-else-loop来应对它,并且很快就会变得乏味。

是否有一种方法,例如使用quosureeval或类似方法替换此逻辑,以便我仅编写几行代码即可完成工作?

例如,理想的逻辑是

func_enquo -> enquo(args$func)  # func is in place of `print`
func_enquo(value)  # what matters is the print argument here.

我已经尝试enquo过编写包装函数,但没有成功;我尝试了eval_tidy那只是徒劳(代码无效)。

用户名

据我了解,您想使用第一个参数作为函数名称吗?然后尝试以get()某种方式使用

do_something <- function(fct, arg) {
   get(fct)(arg)
}

do_something("print", "Hello")
#>[1] "Hello"

do_something("mean", 1:5)
#> 3

请注意,您必须小心传入的内容。然后,您可以将参数称为args [1],而不是args $ print,如果它始终是第一个这样的参数:

func_enquo -> get(args[1])  # func is in place of `print`
func_enquo(value)           # what matters is the print argument here.

有帮助吗?

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用包含函数名称的字符串调用函数

来自分类Dev

从字符串中调用php函数名称

来自分类Dev

评估表示为字符串的嵌套函数调用

来自分类Dev

字符串中的函数名称

来自分类Dev

评估从字符串构造的函数调用

来自分类Dev

使用ggplot软件包时,如何在R中使用函数名称的字符串调用函数?

来自分类Dev

如何使用等于函数名称的字符串值调用函数

来自分类Dev

运行字符串作为lua代码以仅使用函数名称来调用函数

来自分类Dev

Golang:从字符串指向函数的指针(函数名称)

来自分类Dev

数组到字符串的转换-变量函数名称的调用

来自分类Dev

在Sass中使用函数将返回包含函数名称而不是结果的字符串

来自分类Dev

在Sass中使用函数将返回包含函数名称而不是结果的字符串

来自分类Dev

如何通过将函数名称命名为字符串来使用函数

来自分类Dev

Lua 使用函数名(字符串)调用函数

来自分类Dev

Qt Creator:如何在qDebug中将函数名称显示为字符串

来自分类Dev

如何在angularjs中将字符串解析为函数名称

来自分类Dev

使用输入字符串作为函数名称C ++

来自分类Dev

OCaml函数名称作为字符串

来自分类Dev

在C ++中获取特定函数名称的字符串

来自分类Dev

ReactJS:如何传递字符串用作函数名称?

来自分类Dev

在python中将字符串转换为函数名称

来自分类Dev

PHP致命错误:函数名称必须是字符串

来自分类Dev

错误:函数名称必须是字符串

来自分类Dev

Ajax响应字符串作为函数名称

来自分类Dev

Javascript-以字符串形式获取函数名称

来自分类Dev

函数名称必须是字符串致命错误

来自分类Dev

R-确定是否可以在不使用eval()的情况下将字符串评估为函数

来自分类Dev

如何将字符串转换为函数名称?

来自分类Dev

如何将Dart函数名称转换为字符串?

Related 相关文章

  1. 1

    使用包含函数名称的字符串调用函数

  2. 2

    从字符串中调用php函数名称

  3. 3

    评估表示为字符串的嵌套函数调用

  4. 4

    字符串中的函数名称

  5. 5

    评估从字符串构造的函数调用

  6. 6

    使用ggplot软件包时,如何在R中使用函数名称的字符串调用函数?

  7. 7

    如何使用等于函数名称的字符串值调用函数

  8. 8

    运行字符串作为lua代码以仅使用函数名称来调用函数

  9. 9

    Golang:从字符串指向函数的指针(函数名称)

  10. 10

    数组到字符串的转换-变量函数名称的调用

  11. 11

    在Sass中使用函数将返回包含函数名称而不是结果的字符串

  12. 12

    在Sass中使用函数将返回包含函数名称而不是结果的字符串

  13. 13

    如何通过将函数名称命名为字符串来使用函数

  14. 14

    Lua 使用函数名(字符串)调用函数

  15. 15

    Qt Creator:如何在qDebug中将函数名称显示为字符串

  16. 16

    如何在angularjs中将字符串解析为函数名称

  17. 17

    使用输入字符串作为函数名称C ++

  18. 18

    OCaml函数名称作为字符串

  19. 19

    在C ++中获取特定函数名称的字符串

  20. 20

    ReactJS:如何传递字符串用作函数名称?

  21. 21

    在python中将字符串转换为函数名称

  22. 22

    PHP致命错误:函数名称必须是字符串

  23. 23

    错误:函数名称必须是字符串

  24. 24

    Ajax响应字符串作为函数名称

  25. 25

    Javascript-以字符串形式获取函数名称

  26. 26

    函数名称必须是字符串致命错误

  27. 27

    R-确定是否可以在不使用eval()的情况下将字符串评估为函数

  28. 28

    如何将字符串转换为函数名称?

  29. 29

    如何将Dart函数名称转换为字符串?

热门标签

归档