我尝试在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)
}
这适用于前两个打印,但最终会导致输出:
Text =Text =word 3有趣的是,如果所有输出文本都是粗体,而不仅仅是其中的一部分,这确实有效。
我怎样才能让它工作?
1条答案
按热度按时间waxmsbnn1#
我知道这可能不是你要找的,但也许它会给予你一个线索......我刚刚花了一个小时的时间在这个谜题上,
\r
和\b
的循环在打印文本中回溯都显示出奇怪的行为。这起作用了,但在控制台的顶部刷新: