0

我有一个看起来像这样的抽象基类:

#' An Abstract Base Class 
Filter <- setRefClass(
  Class = "Filter",
  methods = list(
    train = function(x) {
      "Override this method to train any associated parameters for the filter on the supplied data"
  print("no learning to be done")
})
)

以及扩展此类的以下类:

#' Filter class that leverages the prcomp R method. 
PcaFilter <- setRefClass(
  "PcaFilter",
  contains="Filter",
  fields=list(
    d="numeric",
    model="ANY"
    ),
  methods=list(
    train=function(x) {
      "train PCA model, store result to model attribute of obj"
      model <<- prcomp(x)
    })
)

我跑之后

roxygen2::roxygenize()

然后我得到两个 man 文件,但是在第二个类的 man 文件中,覆盖类的文档字符串没有通过——我得到了基类的文档字符串。我做错了什么还是 roxygen2 的错误?

还有没有更好的方法来做到这一点?我希望能够使用多行文档字符串。

4

1 回答 1

0

搜索了 roxygen github repo 上的问题。发现已经有一个与此相关的活动问题:

https://github.com/klutometis/roxygen/issues/433

总而言之:对于 roxygen 中的引用类的支持和文档在 v5.0 中不是很好。建议的方法仍然是使用文档字符串,并且不可能覆盖父母的文档字符串。

于 2016-02-08T10:37:12.233 回答