使用 Roxygen 记录 R6 静态方法

问题描述 投票:0回答:1

我有一个带有静态方法的 R6 类(类似于 C# 或 Java 静态方法)。代码工作正常。我想用 Roxygen2 记录静态方法,但找不到如何执行此操作。

#' Test class
#' @description
#' Just for demo purposes
#' @export
TestClass <- R6::R6Class(

    ' Detail unimportant
)
#' TestClass$Is
#'
#' Static method to test whether x is a TestClass object
#' @param x An object to test
#' @return TRUE iff x is a TestClass object
TestClass$Is <- function(x){

    return (any(class(x) == "TestClass"))
}

使用 devtools::document() 我收到错误消息:

✖ TestClass.R:25:块必须有一个@name。 ℹ 记录现有对象或使用 @name 手动指定

我尝试插入各种名称、标题和其他标签,但没有成功。有人可以请建议吗?谢谢你。

r static roxygen2 r6
1个回答
0
投票

据我所知,Roxygen 不支持这些方法,但它们并不是真正的静态方法,因为它们不适用于类的实例。我建议只对常规函数使用命名约定,例如

TestClass_Is <- function(x){
    return (any(class(x) == "TestClass"))
}
© www.soinside.com 2019 - 2024. All rights reserved.