我正在实施新的R6Class并尝试动态添加新成员(https://cran.r-project.org/web/packages/R6/vignettes/Introduction.html#adding-members-to-an-existing-class),但我收到此错误" __ Deferred_Default_Marker __" (无论是当我实现getx2函数时,是否动态。
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__"
有关于此的任何想法吗?它与文档
完全相同答案 0 :(得分:0)
解决方案是更新包。以下说明存在问题:
devtools::install_github('r-lib/R6', build_vignettes = FALSE)
是不是它给我发了以下错误:namespace 'R6' is imported by 'CompatibilityAPI', 'mrsdeploy' so cannot be unloaded"
所以我关闭了RStudio,并打开了R.exe(C:\Program Files\R\R-3.3.3\bin
)并运行了相同的命令。现在,我有这个包:
Package: R6
Version: 2.2.2.9000
URL: https://github.com/r-lib/R6/
并且它在规范中起作用。