打印R功能时如何抑制环境线?

时间:2015-04-16 04:14:42

标签: r environment pretty-print

从包中打印函数时,如何禁止环境/命名空间行?我已经尝试将该功能重新分配给全局环境。我试过进入foobar环境。我尝试过噱头和游戏,即使用R来完成这项工作。似乎应该有一个简单的方法来做到这一点。

> x2
function(x) {
    return(x * x)
}
<environment: namespace:foobar>
>

1 个答案:

答案 0 :(得分:2)

好吧,如果您想更改功能的打印方式,请创建自己的print.function。我认为这应该对你有用

print.function <- function(x,...) {
    environment(x)<-globalenv(); 
    base::print.function(x,...)
}

例如

x2<-function(x) {
    return(x * x)
}
environment(x2)<-asNamespace("stats")

base::print.function(x2)
# function(x) {
#     return(x * x)
# }
# <environment: namespace:stats>

x2
# function(x) {
#     return(x * x)
# }