供参考的 roxygen2 文档字符串 类 覆盖基础 class
roxygen2 docstrings for Reference Classes overriding base class
我有一个抽象基础 class,看起来像这样:
#' 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")
})
)
以及扩展此 class 的以下 class:
#' 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 文件中 class 被覆盖的 class 的文档字符串没有通过 - 我得到了基础 class 的文档字符串].我做错了什么还是 roxygen2 的错误?
请问还有什么更好的方法吗?我希望能够使用多行文档字符串。
在 roxygen github 仓库中搜索了问题。发现已经有一个与此相关的活跃问题:
https://github.com/klutometis/roxygen/issues/433
总而言之:从 v5.0 开始,roxygen 中参考 类 的支持和文档不是很好。建议的方法还是使用docstrings,不可能覆盖parents的docstrings
我有一个抽象基础 class,看起来像这样:
#' 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")
})
)
以及扩展此 class 的以下 class:
#' 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 文件中 class 被覆盖的 class 的文档字符串没有通过 - 我得到了基础 class 的文档字符串].我做错了什么还是 roxygen2 的错误?
请问还有什么更好的方法吗?我希望能够使用多行文档字符串。
在 roxygen github 仓库中搜索了问题。发现已经有一个与此相关的活跃问题:
https://github.com/klutometis/roxygen/issues/433
总而言之:从 v5.0 开始,roxygen 中参考 类 的支持和文档不是很好。建议的方法还是使用docstrings,不可能覆盖parents的docstrings