如何在Ruby中使用(n)curses?
时间:2020-03-05 18:37:33 来源:igfitidea点击:
我想创建一个进度条,以指示Ruby中批处理作业的状态。
我已经阅读了一些有关使用(n)curses的教程/库,这些教程/库都没有特别有助于说明如何在终端中创建"动画"进度条或者将curses与Ruby
一起使用。
我已经知道使用单独的线程来监视给定作业的进度,但我不确定如何继续绘制进度条。
更新
ProgressBar类非常简单明了,完美解决了我的问题。
解决方案
回答
我们可能可以从Ruby / ProgressBar库中获得一些实现想法,该库将生成文本进度条。几个月前,我偶然发现了它,但没有使用它。
回答
在Windows上,curses开箱即用,ncurses则不行,对于进度条curses应该就足够了。因此,使用curses而不是ncurses。
而且,curses和ncurses都是c库中的薄型包装器,这意味着我们实际上并不需要特定于Ruby的教程。
但是,我们可以在PickAxe的网站上下载该书的所有代码示例。文件" ex1423.rb"包含一个播放Pong的curses演示,应该为我们提供足够的素材来继续前进。
回答
我个人认为,在这种情况下,诅咒实在是太过分了。尽管curses lib很不错(而且我经常自己使用它),但每次12个月内我都不需要它时,它是一种PITA,可以重新学习,这必须是不良接口设计的标志。
如果由于某种原因我们无法继续使用进度条,则lib Joey建议我们自己滚动并根据相当不错的免费许可证将其释放,以实现即时荣誉:)
回答
很晚才回答,对自己的晋升感到抱歉,但是我创建了图书馆来展示终端的进度。