File
所以我正在对Ruby中的类进行一些研究。当我在挖掘时,我了解到这File
是IO
. 据我了解,当您创建一个IO
对象(或File
对象)时,会为该文件打开一个缓冲区,允许您读取和写入该文件。我不完全理解缓冲区是什么,但显然它会保持打开状态,直到您调用#close
对象上的方法。据我了解,无论您打电话File.new
还是File.open
(如果我在这方面有任何错误,请纠正我),这个缓冲区都会打开。
所以说你喜欢将File
类用于路径和类似这样的东西:
f = File.new('spec/tmp/testfile.md')
File.basename(f)
但你从不打电话f.close
。让这个缓冲区打开泄漏内存吗?如果我为文件系统中的一棵树调用了数百次,我会遇到大麻烦吗?
感谢您的回复!
PS我知道你可以File.basename('spec/tmp/testfile.md')
改用,我只是用这个作为例子