5
#!perl6
use v6;

my $message = "\nHello!\n\nSleep\nTest\n\n";

my @a = $message.split( '' );

for @a {
    sleep 0.3; 
    .print;
}

perl6 默认情况下是否启用“自动刷新”。在没有启用“outflush”的情况下使用 perl5,我不会得到这种行为。

4

2 回答 2

8

Rakudo 默认启用自动刷新;该规范对默认值保持沉默。

于 2011-02-20T09:58:41.077 回答
1

引用有关自动刷新的文档:

'没有可用的全球替代方案。默认情况下,TTY 句柄是无缓冲的,对于其他句柄,请将 out-buffer 设置为零或使用 :!out-buffer 并在特定 IO::Handle 上打开。'</p>

所以任何打印到标准输出都是无缓冲的,我猜它的行为类似于 perl5 的自动刷新标准输出。

其他句柄取决于输出缓冲区大小集。

于 2019-03-30T07:54:21.477 回答