【问题标题】:Print and update multiple lines in fixed position在固定位置打印和更新多行
【发布时间】:2016-06-04 09:30:22
【问题描述】:

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

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

有没有办法做到这一点?

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

【问题讨论】:

    标签: ruby printing terminal console


    【解决方案1】:

    curses 库是完成这项工作的一种方法。它允许您写入二维屏幕上的位置,因此您不受当前行的限制。这个question 有一些学习诅咒的好资源。

    【讨论】:

    • 这是一种无需安装任何 gem 的方法吗?玩输出或类似的东西?如果不安装,Curses 似乎无法使用。
    • 你也许可以用ANSI control codes 之类的东西重新实现诅咒,但这似乎很痛苦。没有其他事情会立即浮现在脑海中。
    猜你喜欢
    • 2017-01-02
    • 1970-01-01
    • 1970-01-01
    • 2021-12-17
    • 1970-01-01
    • 2021-03-14
    • 2011-10-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多