| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Perl: Системное программирование > анимированная строка в консоли |
| Автор: necromantiq 7.3.2011, 15:15 |
| срочно нужно написать прогу, на перле, язык для меня новый, времени нету, одна из задач, анимированый ввод, в консоли, прога консольная, пишу в убунту и вынь 7. куда копать? сам язык изучаю, но на тонкости тупо нету времени |
| Автор: necromantiq 7.3.2011, 20:27 |
| ну где же вы, гуру кодинга )) |
| Автор: gcc 8.3.2011, 22:34 | ||
perl умеет буферизировать и не буферизировать
обсуждали http://forum.lissyara.su/viewtopic.php?f=17&t=22237&hilit=perl |
| Автор: necromantiq 9.3.2011, 02:28 |
| спасибо, а можно поподробнее об $| = 1; #no buf гугл не помогает ) |
| Автор: necromantiq 9.3.2011, 02:57 |
| задача примерно такая (помогли с кодом) #!/usr/bin/env perl use Time::HiRes qw(usleep); $|=1; for ( $i = 0; $i < 10; $i++ ) { for( $j = 0; $j < $i; $j++ ) { print "$j"; } print "\r"; usleep( 100000 ); } сейчас строка увеличивается как a aa aaa в консоле выглядит как ааа...... никак не получается сделать так чтоб а "бежало" а а а ..а.... >> понимаю что надо пробелами затирать, но не получается, логика не привычная + эта буферизация, которая хз как работает. что еще децл затрудняет поиски, то что в иде по одному показывается вывод, в консоли по другому... |
| Автор: ming 14.3.2011, 18:29 | ||
|
| Автор: dixoNICH 10.4.2011, 09:31 | ||
| вместо sleep(1) лучше использовать select ввиде :
например так. 0.1 - это одна десятая. минус sleep, что он принимает в аргументы только секунды. |