【发布时间】:2021-07-20 17:35:26
【问题描述】:
我需要解析和评估函数内的表达式。如果我做 来自原始函数 'eval' 和 'parse' 的两个任务,解释 似乎工作正常:
ff0 <- function() {
aaa <- 5
ss <- "aaa"
print(eval(parse(text = ss)))
}
> ff0()
[1] 5
但是,如果我尝试将这两个函数封装成一个函数, 如下:
evalstr <- function(s, ...) eval(parse(text=s), ...)
ff1 <- function() {
aaa <- 5
ss <- "aaa"
print(evalstr(ss))
}
> ff1()
Error in eval(parse(text = s), ...) : 'aaa' object not found
代码未按预期工作。我认为应该将环境传递给“eval”,但我不知道是哪个。
【问题讨论】:
-
也许指定
envir。另外,您可以使用get
标签: r