Я хотел бы создать индикатор выполнения, чтобы указать статус пакетного задания в Ruby
.
Я читал некоторые учебные пособия / библиотеки по использованию (n) curses , ни один из которых не был особенно полезен при объяснении того, как создать «анимированный» индикатор выполнения в терминале или при использовании curses с Ruby
.
Я уже знаю об использовании отдельного потока для контроля за выполнением заданий, я просто не уверен, как приступить к рисованию индикатора выполнения.
Обновить
Класс ProgressBar был невероятно прост, отлично решил мою проблему.
Вы можете получить некоторые идеи реализации из библиотеки Ruby / ProgressBar , которая генерирует текстовые индикаторы выполнения. Я наткнулся на него пару месяцев назад, но не использовал его.
Очень поздно отвечаю и извиняюсь за саморекламу, но я создал библиотеку, чтобы показать прогресс в терминале.
Лично я думаю, что проклятия в этом случае излишни. Хотя библиотека curses хороша (и я часто использую ее сама), это ПИТА, которую нужно переучивать каждый раз, когда она мне не нужна в течение 12 месяцев, что должно быть признаком плохого дизайна интерфейса.
Если по какой-то причине вы не можете продолжить работу с индикатором выполнения lib, Джои предложил свернуть свой собственный и выпустить его под довольно бесплатной лицензией за мгновенное признание :)
На окнах curses работает "из коробки", ncurses - нет, а для индикатора выполнения достаточно проклятий. Так что используйте проклятия вместо ncurses.
Кроме того, curses и ncurses - это тонкие обертки для библиотеки c - это означает, что вам не нужны учебники по Ruby.
Однако на сайте для PickAxe вы можете скачать все примеры кода для книги. Файл "ex1423.rb" содержит демо-версию curses, в которой играет Pong - она должна дать вам много материала для продолжения работы.