Как я могу обновить дисплей прогресса на приложении командной строки Perl?

Это означает, что у вас недостаточно прав для выполнения этого действия. попросите администратора предоставить вам разрешения (самый простой способ - назначить роль участника для учетной записи хранения).

5
задан brian d foy 10 November 2008 в 11:43
поделиться

6 ответов

В дополнение к другим ответам \r вернется к началу текущей строки

6
ответ дан 18 December 2019 в 05:56
поделиться

Вы могли бы интересоваться Умными Комментариями. Это было бы, вероятно, легче, чем кодирование Ваших собственных индикаторов выполнения.

6
ответ дан 18 December 2019 в 05:56
поделиться

Если когда-нибудь необходимо делать что-то в Perl, вероятно, что кто-то сделал это и загрузил его на CPAN. Посмотрите на некоторые модули с "прогрессом" их имени.

6
ответ дан 18 December 2019 в 05:56
поделиться

Вы могли использовать проклятия и сделать хороший индикатор выполнения.

Править: Или сделайте что-то вроде этого:

print "#####                                 [ 10%]\r";
# Do something
print "##########                            [ 20%]\r";
# Do something else
print "###############                       [ 30%]\r";
# Do some more
# ...
# ...
# ...
print "##################################### [100%]\n";
print "Done.\n";
8
ответ дан 18 December 2019 в 05:56
поделиться

Необходимо смочь распечатать символ возврата '\b' для положения обратно курсора, таким образом, можно перезаписать то, что Вы распечатали ранее.

2
ответ дан 18 December 2019 в 05:56
поделиться

Я не знаю, работает ли это в Perl, но в C/C++ можно использовать

\b
для клавиши Backspace. Используя несколько из тех, можно переместить курсор для перезаписи старых значений.
0
ответ дан 18 December 2019 в 05:56
поделиться
Другие вопросы по тегам:

Похожие вопросы: