我的问题与以下代码相关:
myfunc <- function(v1) {
deparse(substitute(v1))
}
myfunc(foo)
[1] "foo"
我在R中输入
?deparse
和?substitute
,并得到以下结果:
deparse = Turn unevaluated expressions into character strings.
并且
substitute = returns the parse tree for the (unevaluated) expression expr,
substituting any variables bound in env.
我似乎真的不太理解这种语言。是否有人能简化这些描述的技术方面,以便我能开始欣赏这两个函数如何协同工作,使我们能够做一些很酷的事情,比如访问对象的变量名?
?substitute
中提到,非常有启发性 - 如果它是一个promise对象,即函数的正式参数...,则promise的表达式替换符号。 - Rich Scriven