在 IO::Handle 中§

有关方法 out-buffer,请参阅主要文档 在上下文中

method out-buffer(--> Int:Dis rw

控制输出缓冲,可以通过参数 open 设置。将 int 作为要使用的缓冲区大小(可以接受零)。可以采用 BoolTrue 表示使用默认的、实现定义的缓冲区大小;False 表示禁用缓冲(相当于使用 0 作为缓冲区大小)。

最后,可以采用 Nil 来启用基于 TTY 的缓冲控制:如果句柄 是一个 TTY,则禁用缓冲,否则,使用默认的、实现定义的缓冲区大小。

请参阅 flush 以写入当前缓冲区中的数据。更改缓冲区大小会刷新文件句柄。

given 'foo'.IO.open: :w:1000out-buffer {
    .say: 'Hello world!'# buffered 
    .out-buffer = 42;       # buffer resized; previous print flushed 
    .say: 'And goodbye';
    .close# closing the handle flushes the buffer 
}