我并不完全理解substitute
函数的作用,尽管我之前在代码中使用过。今天我在shiny::exprToFunction
中遇到了以下代码:
function (expr, env = parent.frame(2), quoted = FALSE, caller_offset = 1)
{
expr_sub <- eval(substitute(substitute(expr)),
...
}
有人能解释一下为什么这里使用了嵌套的substitute
吗?提供一个易于运行的示例会非常有帮助。
substitute(zz)
,生成表达式substitute(bb)
,然后在父框架中进行 eval 操作。虽然效果相同,但操作顺序略有不同。 - gbrunick