我想创建一个进度条来指示批处理作业的状态Ruby
。
我已经阅读了一些关于使用(n)curses的教程/库,其中没有一个特别有助于解释如何在终端中创建“动画”进度条或使用 curses with 。Ruby
我已经知道使用单独的线程来监视给定作业的进度,我只是不确定如何继续绘制进度条。
更新
ProgressBar类非常简单,完美地解决了我的问题。
您也许可以从Ruby/ProgressBar 库中获得一些实现想法,该库会生成文本进度条。几个月前我偶然发现了它,但没有使用它。
就我个人而言,我认为在这种情况下,诅咒是矫枉过正的。虽然 curses 库很好(我自己经常使用它),但每次我 12 个月不需要它时都要重新学习 PITA,这一定是界面设计糟糕的标志。
如果由于某种原因你无法继续使用进度条库,乔伊建议你自己动手,并在一个非常免费的许可证下发布它,以获得即时的荣誉:)
很晚的答案,很抱歉自我提升,但我创建了库来显示终端的进展。
在 Windows 上,curses 开箱即用,ncurses 没有,对于进度条来说,curses 应该足够了。所以,使用curses而不是ncurses。
此外,curses 和 ncurses 都是围绕 c 库的薄薄的包装器——这意味着您实际上并不需要特定于 Ruby 的教程。
但是,在PickAxe 网站上,您可以下载本书的所有代码示例。文件“ex1423.rb”包含一个可播放 Pong 的 curses 演示 - 它应该为您提供足够的材料来帮助您前进。