我正在尝试制作一个简单的控制台进度条,以便查看我的代码进行到哪个阶段。我知道有内置选项,如txtProgressBar和winProgressBar,但我希望能够自己格式化一个。我想让它在同一行更新,而不是输出一系列行。
我目前有一些代码,我觉得应该可以工作 - 有时候也可以正常工作 - 但有时会出现我不理解的故障。这是我的代码:
据我所知,这应该每次都能正确格式化。然而,当程序结束时,输出通常看起来像这样:
我目前有一些代码,我觉得应该可以工作 - 有时候也可以正常工作 - 但有时会出现我不理解的故障。这是我的代码:
for(i in 1:10000){
#Rest of my code
cat('\r',paste("Working [",strrep("#",i/n*50),strrep(" ",50-i/n*50),"] ",ceiling(i/n*100),"%",sep=""))
}
据我所知,这应该每次都能正确格式化。然而,当程序结束时,输出通常看起来像这样:
Working [##################################################] 100%rking [ ] 5%
我无法弄清楚出了什么问题。flush.console()和Sys.sleep似乎都没有帮助。如果有任何建议或想法,将不胜感激。如果有影响的话,我正在使用RStudio。
flush.console
,程序也能正常运行。但是在RGui中,如果不加上这个命令,你将看不到任何输出,直到程序结束时所有的输出一次性呈现出来,这样并不实用。 - G5W