我正在学习 ruby,但还没有找到覆盖等效object.delete
函数的方法:
这就是我的做法:
class Foo
@@no_foo=0
def initialize
@@no_foo+=1
end
def delete
#class specific cleanup...
@@no_foo-=1
end
def Foo.no_foo
return "#@@no_foo"
end
end
def delete(obj)
#object independent cleanup...
obj.delete
return nil
end
foo1 = Foo.new
foo2 = Foo.new
puts Foo.no_foo
puts foo2
foo2 = delete(foo2)
puts foo2
puts Foo.no_foo
正如您所看到的,这是一种有点笨拙的处理方式......有没有更简单的方法来处理这个问题?
基本上,我想在减少该类的总计数器的同一调用中使我的对象无法访问。我找不到在将变量(指向对象的指针)设置为 nil 时调用的方法。
我找不到删除对象的方法。