回车不适用于ANSI富文本格式

时间:2018-06-27 04:12:57

标签: r cat ansi

我正在尝试在R(Windows)的同一行上重复打印文本。如果我通过以下方式使用回车符,则可以使用此方法:

text = c("word 1", "word 2", "word 3")
for (word in text) {
  cat("\rText =",word)
  Sys.sleep(0.4)
}

这将覆盖每一行。 但是,我想以粗体显示单词,并使用ANSI代码\u001b[1m和重置\u001b[0m,结果是:

text = c("word 1", "word 2", "word 3")
for (word in text) {
  cat("\rText =\u001b[1m",word,"\u001b[0m")
  Sys.sleep(0.4)
}

这适用于前两张照片,但最终会产生输出:

  

文字=文字= 单词3   有趣的是,如果所有输出文本均以粗体显示,而不仅是其中的一部分,则可以使用。

如何使它正常工作?

1 个答案:

答案 0 :(得分:0)

我知道这可能不是您想要的,但是也许会为您提供一个线索...我刚刚花了一个小时来解决这个难题以及\r和{{1} }回溯打印的文本都显示出奇怪的行为。这可行,但会在控制台顶部刷新:

\b