我如何在Ruby中使用(n)curses?

时间:2008-08-04 14:58:00

标签: ruby unix curses

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

我在使用(n)curses 时已经阅读了一些tutorials / libraries,其中没有一个在解释如何创建“动画时特别有帮助“终端中的进度条或使用Ruby的诅咒。

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


更新

ProgressBar课程非常直截了当,完美地解决了我的问题。

4 个答案:

答案 0 :(得分:19)

您可以从Ruby/ProgressBar library获取一些实现方法,这会生成文本进度条。几个月前我偶然发现了它,但没有使用它。

答案 1 :(得分:4)

我个人认为在这种情况下诅咒是过度的。虽然curses lib很好(而且我经常自己使用它),但每次我不需要12个月就会重新学习PITA,这必然是接口设计糟糕的标志。

如果由于某种原因你无法继续使用the progress bar lib Joey suggested推出自己的版本并在相当免费的许可下发布它以获得即时荣誉:)

答案 2 :(得分:4)

很晚才回答并且抱歉自我推销,但我创建了library以显示终端的进度。

答案 3 :(得分:2)

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

此外,curses和ncurses都是围绕c库的晶圆薄包装 - 这意味着你并不需要特定于Ruby的教程。

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