txtProgressBar 突然停止使用 style=3

txtProgressBar suddenly stopped working with style=3

我已经使用 txtProgressBar() 一段时间了。从今天开始,如果使用 style=3,它就停止工作了。 它只是显示一个空的进度条,并没有更新。

昨天我更新了一些包,但没有 utils 包,AFAIK。也许系统管理员在我不知情的情况下更新了 R。

重现:

for (i in 1:10) {
pb <- txtProgressBar(max = 11, style = 3)
Sys.sleep(1)
setTxtProgressBar(pb, pb$getVal()+1)
}
close(pb)

就我而言,这仅显示:

|                         |   0%

一直以来。其他样式(1 和 2)工作正常。

我的 R 详细信息:

> R.version
               _                           
platform       x86_64-pc-linux-gnu                                                                                                                                                                                                    
arch           x86_64                                                                                                                                                                                                                 
os             linux-gnu                                                                                                                                                                                                              
system         x86_64, linux-gnu                                                                                                                                                                                                      
status                                                                                                                                                                                                                                
major          3                                                                                                                                                                                                                      
minor          2.2                         
year           2015                        
month          08                          
day            14                          
svn rev        69053                       
language       R                           
version.string R version 3.2.2 (2015-08-14)
nickname       Fire Safety  

我是否遗漏了什么,也许是在我的会话中设置错误,或者这是一个错误?

代码的以下部分:pb <- txtProgressBar(max = 11, style = 3) 应该在 for 循环之外。在我的解释中,如果你把它放在里面,你会在循环的每个周期重新初始化进度条。 以下代码可以满足您的期望:

pb <- txtProgressBar(max = 11, style = 3)
for (i in 1:10) {

  Sys.sleep(1)
  setTxtProgressBar(pb, pb$getVal()+1)
}
close(pb)

您将 pb <- txtProgressBar(max = 11, style = 3) 放在 循环中。它应该在循环之外循环之前。 另外,您的 max 不正确。它应该是 10,因为你的 for 循环从 1 到 10。

pb <- txtProgressBar(max = 10, style = 3)
for (i in 1:10) {
  Sys.sleep(0.5)
  setTxtProgressBar(pb, pb$getVal()+1)
}
close(pb)