我有一个Ruby脚本,同时异步地从服务器接收和显示消息,并允许用户在控制台上输入。当接收到消息时,它目前正在被写入到用户正在输入的内容中间。输入本身并不会混乱,但看起来很糟糕。理想情况下,它应该保存用户当前的输入,在下一行输出消息,然后恢复输入。我曾经在C语言中做过类似的事情,但我记得那是非常麻烦的。我对Ruby比较新,所以我不确定是否有好的方法来解决这个问题,或者如何解决。
示例:用户正在输入
用户可以在结尾继续输入。我希望它显示为:
示例:用户正在输入
>abcde
,此时收到消息hello
,然后用户继续输入fgh
。控制台现在将显示:>abcdehellofgh
用户可以在结尾继续输入。我希望它显示为:
hello
>abcdefgh