如何解决R R6 继承与 roxygen2 - “命名空间:ParentPackage”不导出类“ParentClass”
我遇到了 R6 继承问题。我正在编写 2 个包(工作相关,所以我必须使用假代码,但我会尽量保持准确)。
在 ParentPackage 中,我定义了一个 R6 类 ParentClass。
#' @name ParentClass
#' @title ParentClass
#' @description blah blah
#' @importFrom R6 R6Class
#' @exportClass ParentClass
#' @export
ParentClass <-
R6Class('ParentClass',initialize() = function(){print('initialize')},list(method1 = function(){
print('test')
}
# create helper function to create R6 class
#' @name create_ParentClass_object
#' @title Create a ParentClass object
#' @description
#' Helper function to create ParentClass object
#' @export create_ParentClass_object
create_ParentClass_object = function(){
return(ParentClass$new())
}
安装后运行以下命令。
devtools::check()
roxygenize()
document()
install()
NAMESPACE 文件看起来正确。
export(ParentClass)
export(create_ParentClass_object)
exportClasses(ParentClass)
importFrom(R6,R6Class)
转到文件 2,保存在单独的目录中。它被称为 ChildPackage。
#' @name ChildClass
#' @title Create ChildClass Object
#' @description blah blah 2
#' @importFrom R6 R6Class
#' @importClassesFrom ParentPackage ParentClass
#' @importFrom ParentPackage ParentClass
#' @export
ChildClass<-
R6Class('ChildClass',inherit = ParentClass,initialize = function(){},method2 = function(){}
)
但是我在尝试编译时遇到错误。
roxygenise()
Warning message:
class "ParentClass" is not exported by 'namespace:ParentPackage'
install()
Error: class "ParentClass" is not exported by 'namespace:ParentPackage'
请注意,加载父库会显示类。即,ParentPackage::ParentClass 显示类。
R version 4.0.3 (2020-10-10)
roxygen2_7.1.1 devtools_2.3.2 usethis_2.0.0
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。