相关疑难解决方法(0)

eval(解析(...))的危险是什么?

关于如何避免使用有几个问题 eval(parse(...))

这引发了一些问题:

  • 为什么要特别eval(parse())避免?
  • 最重要的是,危险是什么?
    • 如果代码没有用于生产,是否有任何危险?(我在想,任何可能会产生意想不到的结果的危险.很明显,如果你不小心你正在解析什么,你就会遇到问题.但这是否比邋with更危险get()?)

parsing eval r

62
推荐指数
4
解决办法
1万
查看次数

dplyr / rlang:具有多个表达式的parse_expr

dplyr / rlang:具有多个表达式的parse_expr

例如,如果我想解析一些字符串来突变,我可以

e1 = "vs + am"
mtcars %>% mutate(!!parse_expr(e1))
Run Code Online (Sandbox Code Playgroud)

但是,当我想解析带有特殊字符(如“”)的任何文本时,它将给我一个错误,

e2 = "vs + am , am +vs"
mtcars %>% mutate(!!parse_expr(e2))

Error in parse(text = x) : <text>:1:9: unexpected ','
1: vs + am ,
           ^
Run Code Online (Sandbox Code Playgroud)

有什么方法可以解决此问题?

谢谢

parsing r dplyr rlang

5
推荐指数
1
解决办法
451
查看次数

标签 统计

parsing ×2

r ×2

dplyr ×1

eval ×1

rlang ×1