首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >子类和父类不在同一文件中导致R错误

子类和父类不在同一文件中导致R错误
EN

Stack Overflow用户
提问于 2014-08-15 05:26:38
回答 1查看 66关注 0票数 0

下面是帮助页面中的示例:

代码语言:javascript
运行
复制
mEdit <- setRefClass("mEdit",
                     fields = list( data = "matrix",
                                    edits = "list")
                     )



mEdit$methods(
    initialize = function(data=matrix()) {
        .self$data = data
    }
    )

mv <- setRefClass("matrixViewer",
                  fields = c("viewerDevice", "viewerFile"),
                  contains = "mEdit",
                  )

mv$methods( initialize =
                function(file = "./matrixView.pdf", ...) {
                    viewerFile <<- file
                    pdf(viewerFile)
                    viewerDevice <<- dev.cur()
                    dev.set(dev.prev())
                    callSuper(...)
                },
            finalize = function() {
                dev.off(viewerDevice)
            })

这里没有问题,但是如果我把mv类放到一个不同的文件中,比如mv.R,那么R就会报错:

代码语言:javascript
运行
复制
Loading testRefClass
Error in getClass(what, where = where) (from mv.R#1) : “mEdit” is not a defined class
EN

回答 1

Stack Overflow用户

发布于 2014-09-02 16:35:43

您必须包含通过source()定义mEdit的另一个文件,因为mv依赖于它。如果您有一个包含大量类和文件的大型项目,请考虑developing a package,其中包含R文件的文件夹是自动加载的-并且只加载自上次加载以来更改过的那些文件。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25317856

复制
相关文章

相似问题

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