英文:
Can we get R6 class name from inside the class?
问题
需要从类内部获取R6类变量的名称。可以这样做吗?就像下面的示例一样:
Simple <- R6Class("Simple",
public = list(
myname = NA,
dt = NA,
initialize = function () {
self$myname = substitute(self)
}
)
)
mysimple <- Simple$new()
mysimple$myname
这将返回self
。
我希望这返回mysimple
。
这对于使用saveRDS()
存储类变量,然后使用saveRDS()
进行恢复将非常有用。
英文:
I need to get the name of the R6 class variable from inside the class.
Can I do that? - like in example below:
Simple <- R6Class( "Simple",
public = list(
myname = NA,
dt = NA,
initialize = function () {
self$myname = substitute(self)
}
)
)
mysimple <- Simple$new()
mysimple$myname
This returns self
.
And i want this to return mysimple
.
This would be useful for storing a class variable with saveRDS()
and then restoring it with saveRDS()
答案1
得分: 1
是的,你可以使用 class(self)[1]
,例如:
Simple <- R6Class(
"Simple",
public = list(
getClass = function(){
class(self)[1]
}
)
)
mysimple <- Simple$new()
mysimple$getClass()
基于GitHub问题中的解决方案:https://github.com/r-lib/R6/issues/135
英文:
Yes, you can use class(self)[1]
e.g.
Simple <- R6Class(
"Simple",
public = list(
getClass = function(){
class(self)[1]
}
)
)
mysimple <- Simple$new()
mysimple$getClass()
Based on the solution in the GitHub issues: https://github.com/r-lib/R6/issues/135
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论