【发布时间】:2018-02-23 12:20:00
【问题描述】:
我正在实现一个新的 R6Class 并尝试动态添加新成员 (https://cran.r-project.org/web/packages/R6/vignettes/Introduction.html#adding-members-to-an-existing-class),但是当我实现 getx2 时出现此错误 "__Deferred_Default_Marker__"(无论它是否是动态的)功能。
Simple <- R6Class("Simple",
public = list(
x = 1,
getx = function() self$x,
getx2 = function() return(self$x * 2)
)
)
# To replace an existing member, use overwrite=TRUE
Simple$set("public", "x", 10, overwrite = TRUE)
s <- Simple$new()
s$getx2() # this returns "__Deferred_Default_Marker__"
对此有什么想法吗?和文档中的一模一样
【问题讨论】:
-
您的代码对我来说很好用。您使用的是哪个版本的 R6?
-
我的版本是2.2.0
-
这里也一样。尝试退出并重新启动 R。
-
现在我正在尝试使用“devtools::install_github('r-lib/R6', build_vignettes = FALSE)”更新到 2.2.2 版,但它告诉我“命名空间 'R6' 是由“CompatibilityAPI”、“mrsdeploy”导入,因此无法卸载” ...