将函数调用强制转换为字符串

coerce a function call into a string

我试图了解什么是 R 中的 call 对象并将其强制转换为字符。然而到目前为止,我的努力是徒劳的。

myFun=function(a=1) {   x=sys.call()   return(as.character(x)) }

x=myFun(a=2) # here I would like to get the string "myFun(a = 2)"

我也一直在寻找打印函数调用的函数(类似于 print.call)。但是我没找到。

这里有人知道调用对象是如何打印的吗?

我们可以使用 match.call()deparse

myFun <- function(a=1) { 
            deparse(match.call())       
  }

myFun(a=2)
#[1] "myFun(a = 2)"

或者在函数

中将match.call()替换为sys.call()