覆盖`< -`会导致我的问题吗?

时间:2017-12-15 10:11:36

标签: r

对于我正在开发的软件包,我想在全局环境中覆盖<-,以便打印一些参数。在检查了帮助后,看起来我不能像我+*等那样只分配方法。我现在创建了以下函数:

`<-` = function(a,b){
  base::`<<-`(a,b)
  if (identical( parent.frame(n = 1) , globalenv() )){
    print('hello world')
  }
}

我需要使用<<-而不是<-,以便它进入正确的环境,我只希望在全局工作时打印一些内容(以防止大量的消息)。 / p>

我的问题是,在内部函数中用<-替换<<-是个坏主意吗?是否可能破坏任何代码?我的感觉是这应该是相对安全的,但是我不太清楚底层c代码R如何调用交互,所以我想检查这是否可能会破坏某些东西。

编辑:回应评论,澄清我想要的是一种方法(可能只是S3)方法应用于<-,这样如果我看到数据框或列表,我可以向控制台提供元数据。但是,我似乎没有办法只为<-+添加*方法。如果有人比上面的代码有更好的方法来完成这个,我很高兴听到它,虽然知道代码是否真的会引起问题会很有用(我想知道它是否会导致性能问题,尽管我会希望不是)

0 个答案:

没有答案