如何返回一个const data.table
从一个R
功能?
A data.table
来自data.table
包是传递给 and 从返回通过引用函数。
因此,一个返回 a 的函数data.table
允许调用函数修改返回值data.table
.
所以问题是:如何返回一个constdata.table
从一个R
功能?
有几种明显的解决方案对我们不起作用:
-
Call copy()
on the data.table
返回时。
constByCopy <- function() {
dt <- ... # dt is a data.table not created in the current environment
...
return(copy(dt))
}
这有效;然而,我们的data.table
的大小足以导致该解决方案不可行。
Use lockBinding()
and unlockBinding()
。然而,这不适用于data.table
,因为人们仍然可以修改锁定的data.table
。 (这类似于之间的区别int * const
and int const * const
在 C++ 中。)
None
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)