如何从R函数返回'const'Data.table?

时间:2014-08-21 12:50:24

标签: r data.table

  

如何从const data.table函数返回R

来自data.table软件包的data.table 通过引用传递给函数返回。

因此,返回data.table的函数允许调用函数修改返回的data.table

所以问题是:如何从data.table函数返回const R

有几个明显的解决方案对我们不起作用:

  • 返回copy()时调用data.table

    constByCopy <- function() {
      dt <- ... # dt is a data.table not created in the current environment
      ...
      return(copy(dt)) 
    }
    

    这有效;但是,我们的data.table足够大,导致此解决方案不可行。

  • 使用lockBinding()unlockBinding()。但是,这不适用于data.table,因为仍然可以修改锁定的data.table。 (这类似于C ++中int * constint const * const之间的差异。)

0 个答案:

没有答案