我查看了文档,但似乎无法找到相关部分.任何人都可以告诉我sync以下代码中的调用是什么?
fh = Tempfile.new('tmp')
fh.sync = true
Run Code Online (Sandbox Code Playgroud)
Dig*_*oss 21
它设置文件的同步模式.
这会影响将来的操作并导致输出在没有块缓冲的情况下写入.
如果f.tty?为true,即,如果文件连接到类似控制台的设备,则输出不是块缓冲的.但是当输出转到管道或文件时,f.tty?将为false并且I/O库将切换到块缓冲,即,仅在文件关闭,程序退出或缓冲区时将输出累积在缓冲区中并写入填上.这更快,最终结果是一样的.
设置f.sync = true失败此开关.如果管道的输出连接到实际上是控制台的某些东西或以某种方式交互或者正在主动监视文件的内容,这可能很有用.