我有一个Rcpp函数lazyNA
无参数。我想在我的包中有它的值,所以我需要导出它,我也想记录它,使用roxygen2.
我试着:
#' @name NA_lazy_
#' @title The missing lazy value.
makeActiveBinding("NA_lazy_", lazyNA, .GlobalEnv)
我得到一个帮助页面,但没有用法section,并且没有导出NA_lazy_
,加载包后没有找到。
我找到了一个解决方案,但不确定是不是最好的。
.onLoad <- function(libname, pkgname) {
lazyna <- function() {
new("lazyVector", xptr = lazyNA(), length = 1L)
}
makeActiveBinding("NA_lazy_", lazyna, parent.env(environment()))
invisible()
}
#' @name NA_lazy_
#' @title The missing lazy value.
#' @export
"NA_lazy_"
也许我可以用assign
代替makeActiveBinding
?
编辑
Withassign
:
.onLoad <- function(libname, pkgname) {
assign(
"NA_lazy_",
new("lazyVector", xptr = lazyNA(), length = 1L),
envir = parent.env(environment())
)
invisible()
}