2013-09-21 44 views
1

我讀了一些關於ruby垃圾回收器的文章,很多關於循環引用對象的內容不能被清除。 This article提到關於循環引用,但我不確定是否會導致問題。任何人都可以舉一些如何創建循環引用的例子?紅寶石圓形參考示例

+2

作爲鏈接問題的答案已經指出,Ruby的GC可以非常多地收集循環引用的對象。我不知道你讀到哪裏不行,但那是錯誤的信息。 – sepp2k

回答

3

我看了一些關於ruby垃圾回收器的文章,很多關於循環引用對象的文章都無法清除。

這絕對不是真的。

任何人都可以舉一些如何創建循環引用的例子嗎?

最平凡是這樣的:

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

然而,正如我說(和答案給你鏈接也指出了問題),Ruby的GC絕對不會有問題,收集arr1arr2後他們超出了範圍。