删除ruby中的类实例

时间:2015-12-11 11:17:48

标签: ruby class

我一直在尝试删除一个类实例。这就是我想要的:

class SomeClass
  def initialize
    some_stuff
  end
  def delete
    self.delete
  end
end

致电SomeClass_instance.delete告诉我:

SystemStackError: stack level too deep

如果没有定义delete方法,它会给我一个NoMethodError

我尝试的一切都给了我错误或什么也没做。如果有人可以解释如何删除类实例,或者是否有可能,那将是很好的。

1 个答案:

答案 0 :(得分:1)

当您使用garbage-collection标记请求时,我假设您尝试执行的操作类似于C中的free

Ruby中的垃圾收集会自动发生。一旦对象不再被引用到内存中的任何位置,对象使用的内存将在下一个GC循环中重新收集。

您无需手动释放内存。只要确保不在变量中保存对象的引用,尤其是在超出方法范围的变量中,例如全局变量,实例变量或类变量。