Сегодня в моем колледже учитель задал мне вопрос. Он написал этот код на бумаге и сказал «Что будет на выходе этого кода?»
use warnings;
for (1 .. 20)
{
print ".";
}
Я нашел это несложным и сказал, что он будет повторять цикл 20 раз и на каждой итерации будет печатать точку (.), И, следовательно, на выходе будет 20 точек.
Он сказал, что вы правы, а затем внес некоторые изменения в код. Код был:
use warnings;
for (1 .. 20)
{
print ".";
sleep 1;
}
Он сказал, что теперь будет на выходе? Я не знал о функции сна, я предполагал, что на каждой итерации он будет печатать точку (.), А затем будет ждать 1 секунду (из-за функции сна), а затем снова будет повторяться, а затем снова будет напечатайте (.), затем он будет ждать 1 секунду и так далее ...
Учитель сказал мне проверить это дома. Я попробовал это дома и узнал, что второй код ждет 20 секунд, а затем печатает все точки (20 точек) сразу. Я хочу знать, как это произошло? Почему точка (.) Не печатается на каждой итерации?