我想使用roxygen2导出一个名为[.myclass的S3方法,我无法看到这样做的干净方法。
我需要NAMESPACE
S3method("[",myclass)
在其中,或者在我需要包裹之后无法使用该方法,但roxygen2似乎并不想帮助我。
我可以强制使用
#' @S3method [ myclass
setMethodS3("[",
c(x="myclass"),
function(x,i) {
blah blah balh
})
但是roxygen然后说s3方法已被弃用,我应该使用@export,但是
#' @export
setMethodS3("[",
c(x="myclass"),
function(x,i) {
blah blah balh
})
没有做到。 (在NAMESPACE中放置一个空导出)。
我问过该包的作者,他建议我使用@method和@export,但这也不起作用
#' @method [ myclass
#' @export
setMethodS3("[",
c(x="myclass"),
function(x,i) {
blah blah balh
})
也最终以" export()"在NAMESPACE中
我错过了什么?
答案 0 :(得分:3)
答案:
Hadley非常有帮助,现在我意识到我不应该使用setMethodS3,而只是
#' @method [ myclass
#' @export
"[.myclass" <- function(x,i) { blah blah blah }
然后一切都很好。