我想在Ruby
中创建一个进度条以指示批处理作业的状态。
我在使用(n)curses 时已经阅读了一些tutorials / libraries,其中没有一个在解释如何创建“动画时特别有帮助“终端中的进度条或使用Ruby
的诅咒。
我已经知道使用单独的线程来监视给定作业的进度,我只是不确定如何继续绘制进度条。
更新
ProgressBar课程非常直截了当,完美地解决了我的问题。
答案 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演示 - 它应该为您提供足够的材料来帮助您前进。