无法在R中的while循环内打印到控制台

时间:2017-06-02 14:31:27

标签: r loops console output

我正在Windows中的Rgui.exe窗口运行这段代码:

i = 1
while(i <= 10){
    cat(i, "\n") 
    i = i + 1
    Sys.sleep(2)
}

cat()片段不是每2秒输出一次,而是仅在20秒结束时共同输出,即10次迭代。

我习惯于print()和cat()调用立即输出,所以我不知道为什么会发生这种情况。

如何在每次迭代中立即进行R打印?

1 个答案:

答案 0 :(得分:2)

它&#34;输出缓冲&#34 ;;使用flush.console()后尝试cat。从帮助页面:

  

除了基于控制台的R版本之外,它什么也没做。在macOS上   和Windows GUI,它确保在控制台中显示输出   即使输出缓冲打开,它也是最新的。