在固定位置打印和更新多条线

时间:2016-02-22 19:42:00

标签: ruby printing terminal console

我想在固定位置打印如下输出,而块中的数字每隔几秒就会更新一次。它类似于top所做的。

Jobs monitor:
+-----------------------------------------+
| Waiting | Launched | Running | Finished |
+-----------------------------------------+
|   319   |   364    |   94    |   201    |
+-----------------------------------------+
Elapsed time: 21s

有办法吗?

只有一行,我可以使用STDOUT.flush"\r",但它不适用于多行,因为滑架会将光标放在新行的开头。< / p>

1 个答案:

答案 0 :(得分:2)

curses库是实现此功能的一种方法。它允许您在2-d屏幕上写入位置,这样您就不会受限于当前行。这个question有一些学习诅咒的好资源。