gpt4 book ai didi

r - 循环中的控制台输出 : how to completely clean last cat ouput without adding a line break?

转载 作者:行者123 更新时间:2023-12-03 07:32:52 25 4
gpt4 key购买 nike

我经常将以下内容添加到循环中,以便为每次迭代打印出一些消息。

for (word in c("a", "long message", "c")) {
cat("\r", word)
flush.console()
Sys.sleep(1)
}

enter image description here

如我们所见,消息 "c"只覆盖之前 "long message" 的一部分.我想避免这种情况。我唯一能想到的是添加额外的空白,例如
for (word in c("a", "long message", "c")) {
cat("\r", word, " ")
flush.console()
Sys.sleep(1)
}

回车后是否有更好的方法来获得干净的消息?请注意,我不想要换行符。

更新:@user1981275 发布了一个已确认可在 Linux 上运行的解决方案。仍然需要平台独立的解决方案。

最佳答案

ANSI 删除到行尾转义序列 \033[K可以与 cat 一起使用(参见例如 here ):

for (word in c("a", "long message", "c")) {
cat("\r", "\033[K", word)
flush.console()
Sys.sleep(1)
}

关于r - 循环中的控制台输出 : how to completely clean last cat ouput without adding a line break?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54195946/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com