Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Perl: Общие вопросы > простой вопросик


Автор: PyccHeBa 8.12.2007, 06:21
Привет! Есть простой вопрос, не знаю как сделать что бы печаталось на той же строке на экране

print "number 1 of 10\n";
print "number 2 of 10\n";
......


Как сделать чтобы все это печаталось на одной строке, т.е. накладывалось?

Автор: amg 8.12.2007, 09:01
Цитата(PyccHeBa @  8.12.2007,  06:21 Найти цитируемый пост)
Как сделать чтобы все это печаталось на одной строке, т.е. накладывалось?
Типа счетчика, что ли?
Код

$|=1; 
print("\rnumber $_ of 10"),sleep(1) for 1..10; 
print "\n";


Автор: Unrealm 8.12.2007, 18:28
Я думаю, что имелось ввиду затирание предидущего вывода. Простейший вариант, но врядли он подойдет топикстартеру:
Код
#!/usr/bin/perl -w

$|=1;
print("number $_ of 10"),sleep(1),system("cls") for 1..10;

Автор: KSURi 9.12.2007, 01:11
Unrealm, а чем не устроил вариант от amg?
Он заюзал \r (возвращение каретки) - вариант, который не зависит от ОС. А твой прокатит только под виндой.

Автор: Unrealm 9.12.2007, 03:38
Извиняюсь, не обратил внимание на \r и посчитал, что вариант amg, будет выводить несколько строк...

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)