首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在R包中包括R6类对象

在R包中包括R6类对象
EN

Stack Overflow用户
提问于 2017-06-27 08:53:30
回答 1查看 685关注 0票数 2

我目前正在开发一个R包,我希望包含一个类R6的对象,它基本上是一个环境,这样用户就可以很容易地使用它(就像它处理包中的数据集一样)。

我有一个R6ClassConstructor Gridworld:

代码语言:javascript
复制
Gridworld <- R6::R6Class( ... )

然后,我可以使用grid = Gridworld$new()创建一个新实例,该实例生成一个R6类。然后,我希望将这个对象grid保存在包中,以便用户只需输入grid就可以使用它。

我试图将grid保存为/data文件夹中的.RData对象,并在/R文件夹中记录R6类:

代码语言:javascript
复制
#' Gridworld
#' @format R6 class
"grid"

但是这导致了devtools::document中的一个错误:文件'grid.RData‘有神奇的数字'X’

如何在包中包含这个R6类对象?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-06-27 10:20:12

也许最好在加载包时调用new。这样,您就不会在引用语义方面有任何问题。

见答案here

在你的例子中,这看起来就像

代码语言:javascript
复制
# file R/zzz.R
.onLoad <- function(libname, pkgname){
  gridworldInstance <- Gridworld$new() 
}

# documentation
#' Instance of grid world
#' 
#' some description
#'
#' @name gridworldInstance
NULL
#' @export
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44776015

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档