可以写在前一行吗?

Das*_*son 5 r

我正在使用R,我想写一些使用cat放在控制台上的文本.如果文本在当前行上使用退格符(\ b),则很容易.例:

> cat("A cat says ruff\b\b\b\bmeow")
A cat says meow> 
Run Code Online (Sandbox Code Playgroud)

但是,如果有换行符,我不知道如何回到上一行.使用具有退格字符的cat似乎不会撤消换行符.

> cat("A cat says ruff\n\b\b\b\b\bmeow")
A cat says ruff
meow> 
Run Code Online (Sandbox Code Playgroud)

或者,如果有一个包允许你分配控制台的一部分,只是修改那里的内容也适合我.我从来没有直接在linux中使用ncurses,但我的理解是我希望有一些类似于ncurses提供的功能.谢谢你的时间!

编辑:我将补充说,我不一定只需要修改控制台的某个部分 - 如果唯一的解决方案是分配整个控制台,这对我正在尝试做的很好.

编辑2:提供了一个tty控制台的解决方案.我现在对如果可以在Windows中使用RGui执行此操作感兴趣.

Sim*_*nek 5

你根本做不到.在tty输出的特殊情况下,您可以使用如上所示的转义序列,但这仅仅是该特定(罕见)情况的副作用(就R而言,行为实际上是未定义的).除了R中记录的预定义序列(基本上只是\b\r)之外,常规R GUI都不支持编辑,这些序列不会超过最后一行.

我应该补充说,有很多软件包提供小部件(创建自己的特殊输出窗口),如果这是你想要的.