46

我想创建一个进度条来指示批处理作业的状态Ruby

我已经阅读了一些关于使用(n)curses的教程/,其中没有一个特别有助于解释如何在终端中创建“动画”进度条或使用 curses with 。Ruby

我已经知道使用单独的线程来监视给定作业的进度,我只是不确定如何继续绘制进度条。


更新

ProgressBar类非常简单,完美地解决了我的问题。

4

4 回答 4

20

您也许可以从Ruby/ProgressBar 库中获得一些实现想法,该库会生成文本进度条。几个月前我偶然发现了它,但没有使用它。

于 2008-08-04T15:11:19.770 回答
4

就我个人而言,我认为在这种情况下,诅咒是矫枉过正的。虽然 curses 库很好(我自己经常使用它),但每次我 12 个月不需要它时都要重新学习 PITA,这一定是界面设计糟糕的标志。

如果由于某种原因你无法继续使用进度条库,乔伊建议你自己动手,并在一个非常免费的许可证下发布它,以获得即时的荣誉:)

于 2008-08-04T16:18:32.770 回答
4

很晚的答案,很抱歉自我提升,但我创建了来显示终端的进展。

于 2010-12-08T21:29:29.487 回答
2

在 Windows 上,curses 开箱即用,ncurses 没有,对于进度条来说,curses 应该足够了。所以,使用curses而不是ncurses。

此外,curses 和 ncurses 都是围绕 c 库的薄薄的包装器——这意味着您实际上并不需要特定于 Ruby 的教程。

但是,在PickAxe 网站上,您可以下载本书的所有代码示例。文件“ex1423.rb”包含一个可播放 Pong 的 curses 演示 - 它应该为您提供足够的材料来帮助您前进。

于 2008-08-04T16:03:22.720 回答