Çoğu programlama dilinde, dosyalarla çalışma akışının açık-kullan-kapat olduğu yaygın bir bilgidir. Yine de Ruby kodlarında eşsiz File.open çağrılarında birçok kez gördüm ve dahası bu bilgi mücevherini ruby belgelerinde buldum :
G / Ç akışları, çöp toplayıcı tarafından talep edildiğinde otomatik olarak kapatılır.
darkredandyellow dostu irc konuyu ele alıyor:
[17:12] evet, ve ayrıca, dosya tanımlayıcıların sayısı genellikle işletim sistemi tarafından sınırlıdır
[17:29] Çöp toplayıcı temizlemeden önce kullanılabilir dosya tanımlayıcıların kolayca tükenebileceğini varsayıyorum yukarı. bu durumda, bunları kendiniz kapatmak isteyebilirsiniz. "çöp toplayıcı tarafından talep edildi." GC'nin gelecekte bir noktada hareket edeceği anlamına gelir. ve pahalıdır. dosyaları açıkça kapatmak için birçok neden.
- Açıkça kapatmamız gerekiyor mu
- Cevabınız evet ise, o zaman GC neden otomatik kapanır?
- Öyleyse neden seçenek?