Задний план
echo
Программа настолько аккуратно. Вы можете сказать что-нибудь, и это повторяет ваши слова идеально, каждый раз! Как это круто! Неутешительно, это повторяет ввод все сразу, независимо от вашей скорости печати, которая не очень реалистична. Мы должны это исправить.
Задание
Ваша программа должна получать свои данные из STDIN или ближайшего аналога. Он должен читать строки от пользователя одну за другой, возможно, отображая какое-то приглашение, пока они не введут пустую строку. После этого он выводит строки в STDOUT или ближайший эквивалент в том порядке, в котором они были заданы. Последняя (пустая) строка не печатается, а последняя напечатанная строка не нуждается в конце новой строки.
Кроме того, программа должна сохранять временные интервалы между каждой строкой: если пользователю потребовалось x
несколько секунд, чтобы ввести строку, программе потребуется x
несколько секунд, чтобы ее распечатать. Это относится и к первой и последней строкам; пустая строка не печатается, но программа все равно ждет, прежде чем завершить работу.
пример
Вот пример сеанса с программой. Все действия, которые не производят текст, описаны в скобках, и (необязательно) приглашение отображается как >
.
[begin program]
> fhtagn[enter; 1.48s passed since starting program]
> yum yum[enter; 3.33s passed since previous enter]
> so cool![enter; 2.24s passed since previous enter]
> [enter; 0.23s passed since previous enter]
[wait 1.48s]fhtagn
[wait 3.33s]yum yum
[wait 2.24s]so cool!
[wait 0.23s, then end program]
Без действий сессия выглядит так:
> fhtagn
> yum yum
> so cool!
>
fhtagn
yum yum
so cool!
Правила и оценки
Время ожидания должно быть с точностью до 0,01 секунды (на практике, если обычный человек не может определить разницу, у вас все в порядке). Побеждает меньшее количество байтов, и стандартные лазейки запрещены. Если ваш язык имеет встроенную функцию именно для этой задачи, вы не можете ее использовать.
yum yum
, что было довольно громоздко.