如何在给定R代码中传递变量实际名称?仅可修改f0函数
解决方案
修改f0为如下代码:
f0 <- function(param0) { f1(substitute(param0)) }
原理说明
substitute(param0)在f0的执行环境中,会捕获调用f0时传入的实际表达式(也就是hello),而非形参名param0。- 将这个捕获到的表达式传给
f1后,f1内部的substitute(param1)会直接拿到该表达式本身,最终f2调用deparse后就会输出变量名"hello"。
内容的提问来源于stack exchange,提问作者Stefano Borini
相关产品推荐
相关产品推荐

