在官方文档中,它说:
substitute returns the parse tree for the (unevaluated) expression expr, substituting any variables bound in env.
quote simply returns its argument. The argument is not evaluated and can be any R expression.
但是当我尝试时:
> x <- 1
> substitute(x)
x
> quote(x)
x
它看起来像
quote
和 substitute
返回作为参数传递给它们的表达式。所以我的问题是,
substitute
之间有什么区别?和 quote
,以及“替换 env 中绑定(bind)的任何变量”是什么意思?
最佳答案
这是一个示例,可以帮助您轻松查看 quote()
之间的区别。和 substitute()
, 在其中 substitute()
的设置(处理函数参数)之一中最常用的是:
f <- function(argX) {
list(quote(argX),
substitute(argX),
argX)
}
suppliedArgX <- 100
f(argX = suppliedArgX)
# [[1]]
# argX
#
# [[2]]
# suppliedArgX
#
# [[3]]
# [1] 100
关于r - R中的替代和引用有什么区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46834655/