Как приостановить каждую итерацию l oop с помощью сна? - PullRequest
2 голосов
/ 23 марта 2020

Почему весь процесс ждет 10 секунд, прежде чем отобразить результаты в следующем коде? Я ожидал, что он будет показывать каждую итерацию каждую 1 секунду:

my @array = (1..10);
for (reverse(@array)){
    print $_, "\t";
    sleep 1;
}
print "\n";

1 Ответ

5 голосов
/ 23 марта 2020

Вы страдаете от буферизации . Добавьте это перед вашим для l oop в flu sh буфере вывода (см. $OUTPUT_AUTOFLUSH в perlvar ):

$| = 1;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...