是否有一种优雅的方式来解析文本文件*向后*?

Rav*_*mer 7 ruby

可能重复:
如何在Ruby中从下到上读取文件?

在处理我的Ruby程序的过程中,我得到了Eureka Moment,如果我能够向后解析文本文件而不是向前解析它会更简单.

看起来这将是简单简单地阅读文本文件,一行行,到一个数组,然后向后写行到一个文本文件,解析这个临时文件转发(这将现在实际上倒退)进行必要的更改,将生成的行重新编入数组,然后再次向后写入,恢复原始方向,然后将修改保存为新文件.

虽然理论上可行,但我在实践中看到了几个问题,其中最大的问题是,如果文本文件的大小非常大,单个数组将无法一次保存整个文档.

是否有更优雅的方式来完成向后阅读文本文件?

Zep*_*ock 2

Ruby 数组没有软件限制。但有一些内存限制:数组大小太大 - ruby

如果您可以将所有内容读入内存,在内存中进行操作并将其写回磁盘,那么您的方法将会运行得更快。当然,假设该文件适合内存。