Ruby 在固定位置打印和更新多行

Ruby 在固定位置打印和更新多行,ruby,printing,terminal,console,Ruby,Printing,Terminal,Console,我想在块中的数字每隔几秒钟更新一次的同时,在一个固定位置打印一个输出,如下所示。它与top的功能类似 Jobs monitor: +-----------------------------------------+ | Waiting | Launched | Running | Finished | +-----------------------------------------+ | 319 | 364 | 94 | 201 | +--------

我想在块中的数字每隔几秒钟更新一次的同时,在一个固定位置打印一个输出,如下所示。它与
top
的功能类似

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


只有一行,我可以使用STDOUT.flush和
“\r”
,但它不适用于多行,因为回车会将光标仅放在新行的开头。

库是实现此功能的一种方法。它允许您写入二维屏幕上的位置,因此您不必受限于当前行。这有一些学习诅咒的好资源

这是一种不安装任何gem的方式吗?玩输出之类的游戏?如果不安装的话,Curses似乎是不可用的。不过,你可以用类似这样的东西重新实现Curses,这看起来很痛苦。没有别的东西会立刻浮现在脑海中。