Как мне использовать (n)curses в Ruby?

Я хотел бы создать индикатор выполнения, чтобы указать состояние пакетного задания в Ruby,

Я читал некоторые учебные пособия / библиотеки по использованию (n) curses, ни один из которых не был особенно полезен при объяснении того, как создать "анимированный" индикатор выполнения в терминале или при использовании curses с Ruby,

Я уже знаю об использовании отдельного потока для контроля за выполнением данной работы, я просто не уверен, как приступить к рисованию индикатора выполнения.


Обновить

Класс ProgressBar был невероятно прост, отлично решил мою проблему.

4 ответа

Решение

Возможно, вы сможете получить некоторые идеи реализации из библиотеки Ruby/ProgressBar, которая генерирует текстовые индикаторы выполнения. Я наткнулся на него пару месяцев назад, но не использовал его.

Очень поздно отвечаю и извиняюсь за саморекламу, но я создал библиотеку, чтобы показать прогресс в терминале.

Лично я думаю, что проклятия в этом случае излишни. Хотя библиотека curses хороша (и я часто использую ее сама), это ПИТА, которую нужно переучивать каждый раз, когда она мне не нужна в течение 12 месяцев, что должно быть признаком плохого дизайна интерфейса.

Если по какой-то причине вы не можете продолжить работу с индикатором выполнения lib, Джои предложил свернуть свой собственный и выпустить его под довольно бесплатной лицензией за мгновенное признание:)

На окнах curses работает "из коробки", ncurses - нет, а для индикатора выполнения достаточно проклятий. Так что используйте проклятия вместо ncurses.

Кроме того, и curses, и ncurses являются тонкими оболочками вокруг библиотеки c - это означает, что вам не нужны специфические для Ruby учебники.

Однако на сайте для PickAxe вы можете скачать все примеры кода для книги. Файл "ex1423.rb" содержит демонстрационную программу curses с игрой в понг, которая должна дать вам много материала для продолжения работы.

Другие вопросы по тегам