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

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

我已经阅读了关于使用(n)诅咒的一些教程 / 库 ,其中没有一个特别有助于解释如何在terminal中创build“animation”进度条或者使用Ruby curses。

我已经意识到使用一个单独的线程来监视一个给定的工作进度,我只是不知道如何进行绘制进度条。


更新

ProgressBar类是令人难以置信的直截了当,完美地解决了我的问题。

您可能能够从Ruby / ProgressBar库中获得一些实现构想,该库会生成文本进度条。 几个月前,我偶然发现了这个问题,但是还没有使用它。

非常迟到的回答,为自我提升感到遗憾,但是为了在terminal显示进度,创build了图书馆 。

就我个人而言,在这种情况下,我认为诅咒是过度的。 尽pipecurses lib很不错(我经常自己使用它),但是每当我不需要它12个月的时间,这是一个PITA重新学习,这必须是糟糕的界面devise的标志。

如果由于某种原因,你不能继续与进度条库解释乔伊build议滚你自己的,释放它在一个非常免费的许可证即时荣誉:)

在windows上,curses可以工作,ncurses不会,对于进度条curses应该足够了。 所以,使用curses而不是ncurses。

另外,curses和ncurses都是c库的薄薄包装 – 这意味着你并不需要特定于Ruby的教程。

但是,在PickAxe的网站上,您可以下载本书的所有代码示例。 文件“ex1423.rb”包含了一个演奏Pong的curses演示程序 – 这会给你足够的素材让你走。