對象在關閉後是否仍在內存中?如果是這樣,那是因爲垃圾收集還沒有被踢進去嗎?它看起來只是被標記爲已刪除,而不是實際上從內存中消失。這是在IRB中產生的,如果這可能會影響它的話。爲什麼在Ruby中關閉文件對象後仍然存在?
在此先感謝!
1.9.3p125 :001 > f = File.open("myfile.txt", "r")
=> #<File:myfile.txt>
1.9.3p125 :002 > f
=> #<File:myfile.txt>
1.9.3p125 :002 > f.size
=> 122
1.9.3p125 :003 > f.close
=> nil
1.9.3p125 :004 > f
=> #<File:myfile.txt (closed)>
這並不是什麼特別的文件。這是關於變量的一般事情。如果在某個時候,「f」突然開始失去其指涉,那就會是一團糟。 – sawa