Ruby 如何查看文件缓冲区的当前状态?
我想了解一下Ruby是如何管理文件缓冲的。我在别处寻找答案,但我想我问的问题不对 在IRB会话中,我打开了一个文件进行读取:Ruby 如何查看文件缓冲区的当前状态?,ruby,file,io,buffer,Ruby,File,Io,Buffer,我想了解一下Ruby是如何管理文件缓冲的。我在别处寻找答案,但我想我问的问题不对 在IRB会话中,我打开了一个文件进行读取: f = File.open('somefile.txt', 'r') 使用此命令: puts f.gets 打印出somefile.txt的第一行。如果我重复put f.get命令,我将得到第二行,依此类推 我的问题是: 文件缓冲区是否被gets更改 如果问题1的答案是肯定的,那么有没有办法查看仍保留在缓冲区中的所有行 如果问题2的答案是否定的,那么我假设get有它读
f = File.open('somefile.txt', 'r')
使用此命令:
puts f.gets
打印出somefile.txt的第一行。如果我重复put f.get
命令,我将得到第二行,依此类推
我的问题是:
文件缓冲区是否被gets
更改
如果问题1的答案是肯定的,那么有没有办法查看仍保留在缓冲区中的所有行
如果问题2的答案是否定的,那么我假设get
有它读取的文件最后一行的一些记录。有没有办法找出这行索引的值
f.lineno
将为您提供当前行号
f.pos
将以字节为单位提供当前偏移量