Как использовать (n) проклятия в Ruby?

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

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

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


Обновлять

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

Пошаговое руководство по созданию собственного Slackbot: От установки до развертывания
Пошаговое руководство по созданию собственного Slackbot: От установки до развертывания
Шаг 1: Создание приложения Slack Чтобы создать Slackbot, вам необходимо создать приложение Slack. Войдите в свою учетную запись Slack и перейдите на...
45
0
12 067
4
Перейти к ответу Данный вопрос помечен как решенный

Ответы 4

Ответ принят как подходящий

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

Обратите внимание: по состоянию на 2012 год реализации ncurses на языке ruby ​​используют гем ffi-ncurses. Проклятия включен в STDLIB ruby.

shadowbq 04.01.2013 23:41

Примечание к обновлению: начиная с Ruby 2.1.0 (некоторое время в 2014 году) - curses в STDLIB были удалены, а теперь жемчужина

mraaroncruz 05.05.2015 12:06

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

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

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

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

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

@MeNoMore «PITA» - это не код. Это аббревиатура от «боли в заднице». Не используйте форматирование кода для таких вещей.

Andrew Barber 07.02.2013 21:30

@Andrew Barber :) ты меня рассмешил, я действительно не знал, что с PITA как "занозой в заднице", только что кое-что узнал, там, где я приехал из PITA, это нечто совершенно другое (Подсказка: даже там это не код :), ты можно погуглить), все равно спасибо

CloudyMarble 08.02.2013 10:42

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

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