В большинстве языков программирования общеизвестно, что поток для работы с файлами открыт-использует-закрывает. Тем не менее, я много раз видел в кодах Ruby непревзойденные вызовы File.open, и, более того, я нашел эту жемчужину знаний в документации по ruby:
[17:12] да, а также количество файловых дескрипторов обычно ограничено ОС
[17:29] Я предполагаю, что у вас могут легко закончиться доступные файловые дескрипторы до того, как очистит сборщик мусора. в этом случае вы можете захотеть использовать их самостоятельно. "заявлено сборщиком мусора". означает, что сборщик мусора действует в какой-то момент в будущем. и это дорого. множество причин для явного закрытия файлов.