46

のバッチジョブのステータスを示すプログレスバーを作成したいと思いますRuby

(n)cursesの使用に関するチュートリアル/ライブラリをいくつか読みましたが、ターミナルで「アニメーション化された」プログレスバーを作成する方法や、でcursesを使用する方法を説明するのに特に役立ちました。Ruby

特定のジョブの進行状況を監視するために別のスレッドを使用することはすでに知っていますが、進行状況バーの描画をどのように進めるかがわかりません。


アップデート

ProgressBarクラスは信じられないほど簡単で、私の問題を完全に解決しました。

4

4 に答える 4

20

テキストプログレスバーを生成するRuby/ProgressBarライブラリからいくつかの実装のアイデアを得ることができるかもしれません。私は数ヶ月前にそれを見つけましたが、それを利用していません。

于 2008-08-04T15:11:19.770 に答える
4

個人的には、この場合の呪いはやり過ぎだと思います。curses lib は優れていますが (私自身も頻繁に使用しています)、12 か月間必要としないたびに再学習するのは PITA であり、これはインターフェイス設計が悪いことを示しています。

なんらかの理由でプログレスバーのライブラリを使いこなせない場合は、Joey が提案した独自のロールを作成し、すぐに賞賛できるようにかなり無料のライセンスでリリースしてください :)

于 2008-08-04T16:18:32.770 に答える
4

非常に遅い回答と自己宣伝で申し訳ありませんが、ターミナルで進行状況を表示するライブラリを作成しました。

于 2010-12-08T21:29:29.487 に答える
2

Windows では、curses はすぐに動作しますが、ncurses は動作しません。プログレス バーには curses で十分です。したがって、ncurses の代わりに curses を使用してください。

また、curses と ncurses はどちらも、c ライブラリの非常に薄いラッパーです。つまり、Ruby 固有のチュートリアルは実際には必要ありません。

ただし、PickAxe のサイトでは、書籍のすべてのコード例をダウンロードできます。ファイル "ex1423.rb" には、Pong を再生する curses のデモが含まれています。

于 2008-08-04T16:03:22.720 に答える