参考类的roxygen2文档字符串覆盖基类

时间:2016-02-05 10:33:54

标签: roxygen2 roxygen

我有一个如下所示的抽象基类:

#' 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文件中,被覆盖类的docstring没有通过 - 我得到了基类的docstring。我做错了还是roxygen2的错误?

还有更好的方法吗?我希望能够使用多行文档字符串。

1 个答案:

答案 0 :(得分:0)

搜索了roxygen github repo上的问题。发现已经存在与此相关的活跃问题:

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

总结:从v5.0开始,roxygen中的Reference Classes的支持和文档并不是很好。建议的方法仍然是使用文档字符串,并且无法覆盖父母的文档字符串。