0
require 'open-uri'
file_contents = open('local-file.txt') { |f| f.read }

向前推进文件打开方法.. 我们如何打开和读取本地文件 - 使用连续实时或不断变化的数据?

一些类似于实时提要的东西......等等 - 除了每 30 秒读取一次文件之外......有没有办法保持文件连接打开 - 这样我们就可以记录所有发生的更改......

4

1 回答 1

1

阅读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方法中使用块。

于 2013-11-09T07:59:34.423 回答