【发布时间】:2020-08-08 02:34:48
【问题描述】:
以下面给出的基本 R6 类为例:
library(R6)
Demo = R6Class("Demo",
public = list(
initialize = function(){
message("demo object initialized!")
},
delete = function(){
#should contain the logic to delete the object
gc()
},
finalize = function(){
message("demo object deleted!")
}
))
demoObj = Demo$new()
demoObj$delete()
删除函数内部的逻辑应该是什么?是否可以删除对象(自己)?
【问题讨论】:
-
我不熟悉 r。但是,对于其他 OO 语言(例如 Java、Ruby),一旦不再引用对象,gc 就会完成。换句话说,对象不会删除自己。一旦不再使用,就会被垃圾回收。
-
谢谢,我了解 gc 的使用,但想知道是否有任何方法可以使用 rm(obj) 之类的方法删除对象本身。