ruby – 什么STDOUT.sync =真的意思?

我正在读取上帝的源代码 Ruby中的一个进程监视框架,并发现这个STDOUT.sync = true.我从来没有见过这样的东西.请解释一下这一行呢?

提前致谢.

解决方法

通常,put不会立即写入STDOUT,而是内部缓冲字符串,并将输出写入更大的块.这是因为IO操作较慢,通常避免将每个单个字符立即写入控制台更为有意义.

这种行为在某些情况下会导致问题.想象一下,您想要运行一个输出点的循环,然后进行一些广泛的计算.运行该代码的结果可能是一段时间没有任何输出,然后突然一次打印出多个点.

为避免这种情况,请立即将其写入STDOUT,您可以将STDOUT设置为同步模式,如下所示:

STDOUT.sync = true

docs

When sync mode is true,all output is immediately flushed to the underlying operating system and is not buffered internally.

相关文章

validates:conclusion,:presence=>true,:inclusion=>{...
一、redis集群搭建redis3.0以前,提供了Sentinel工具来监控各...
分享一下我老师大神的人工智能教程。零基础!通俗易懂!风趣...
上一篇博文 ruby传参之引用类型 里边定义了一个方法名 mo...
一编程与编程语言 什么是编程语言? 能够被计算机所识别的表...
Ruby类和对象Ruby是一种完美的面向对象编程语言。面向对象编...