下面是帮助页面中的示例:
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就会报错:
Loading testRefClass
Error in getClass(what, where = where) (from mv.R#1) : “mEdit” is not a defined class发布于 2014-09-02 16:35:43
您必须包含通过source()定义mEdit的另一个文件,因为mv依赖于它。如果您有一个包含大量类和文件的大型项目,请考虑developing a package,其中包含R文件的文件夹是自动加载的-并且只加载自上次加载以来更改过的那些文件。
https://stackoverflow.com/questions/25317856
复制相似问题