如何在 R 中打印函数名称及其底层源代码

Jas*_*lns 2 r

假设我有一个定义如下的函数:

myFun <- function(x, y) {
  return(2*x + y)
}
Run Code Online (Sandbox Code Playgroud)

myFun我可以通过在控制台中简单地键入(不带括号)来打印函数的定义:

> myFun
function(x, y) {
  return(2*x + y)
}
Run Code Online (Sandbox Code Playgroud)

如何返回(或打印)名称和函数?也就是说,我希望控制台(打印)输出为:

myFun <- function(x, y) {
  return(2*x + y)
}
Run Code Online (Sandbox Code Playgroud)

如果无法打印定义该函数的代码,是否有办法catprint以这样的方式可以在正常结果前myFun加上文本“myFun <-”?

Gre*_*gor 5

这可能不是很稳健,但这是一个开始:

myFun <- function(x, y) {
  return(2*x + y)
}

myfunprint = function(fun) {
  cl = match.call()
  cat(paste(as.character(cl$fun), "<- "))
  print(fun)
  invisible()
}

myfunprint(myFun)
# myFun <- function(x, y) {
#   return(2*x + y)
# }
Run Code Online (Sandbox Code Playgroud)