require 'open-uri'
file_contents = open('local-file.txt') { |f| f.read }
向前推进文件打开方法.. 我们如何打开和读取本地文件 - 使用连续实时或不断变化的数据?
一些类似于实时提要的东西......等等 - 除了每 30 秒读取一次文件之外......有没有办法保持文件连接打开 - 这样我们就可以记录所有发生的更改......
require 'open-uri'
file_contents = open('local-file.txt') { |f| f.read }
向前推进文件打开方法.. 我们如何打开和读取本地文件 - 使用连续实时或不断变化的数据?
一些类似于实时提要的东西......等等 - 除了每 30 秒读取一次文件之外......有没有办法保持文件连接打开 - 这样我们就可以记录所有发生的更改......
阅读IO::open
文档:
在没有关联块的情况下,IO.open 是 ::new 的同义词。如果给出了可选代码块,它将作为参数传递 io ,并且在块终止时将自动关闭IO 对象。在这种情况下,::open 返回块的值。
无阻塞
file = File.open('doc.txt')
file.closed? # => false
带块
file = File.open('doc.txt') {|f| f }
file.closed? # => true
有没有办法保持文件连接打开 - 这样我们就可以记录所有发生的变化......
然后我可以说不要在File::open
方法中使用块。