dsp*_*099 2 ruby memory filesystems performance file
假设我想将几个大文件合并成一个,然后再合并uniq! 一个(仅此一项可能需要一秒钟)
我的理解是File.readlines()将所有行加载到内存中。有没有办法逐行读取它,有点像 node.jspipe()系统的工作原理?
Ruby 的一大优点是您可以在一个块中执行文件 IO:
File.open("test.txt", "r").each_line do |row|
puts row
end # file closed here
Run Code Online (Sandbox Code Playgroud)
所以事情会自动清理。也许这在一个小脚本上并不重要,但知道您可以免费获得它总是很高兴。