2013-09-21 43 views
1

我读了一些关于ruby垃圾回收器的文章,很多关于循环引用对象的内容不能被清除。 This article提到关于循环引用,但我不确定是否会导致问题。任何人都可以举一些如何创建循环引用的例子?红宝石圆形参考示例

+2

作为链接问题的答案已经指出,Ruby的GC可以非常多地收集循环引用的对象。我不知道你读到哪里不行,但那是错误的信息。 – sepp2k

回答

3

我看了一些关于ruby垃圾回收器的文章,很多关于循环引用对象的文章都无法清除。

这绝对不是真的。

任何人都可以举一些如何创建循环引用的例子吗?

最平凡是这样的:

arr1 = [] 
arr2 = [ arr1 ] 
arr1 << arr2 

然而,正如我说(和答案给你链接也指出了问题),Ruby的GC绝对不会有问题,收集arr1arr2后他们超出了范围。