刷新R控制台中的多行进度条

刷新R控制台中的多行进度条,r,printf,R,Printf,我使用以下代码在bash终端中打印并更新R控制台的进度条: ProgressBar <- function (x, max = 100) { percent <- x / max * 100 cat(sprintf('\r\t[%-50s] %d%%', paste(rep('=', percent / 2), collapse = ''), floor(percent))) if (x == max) cat('\n') } 我的问

我使用以下代码在bash终端中打印并更新R控制台的进度条:

ProgressBar <- function (x, max = 100)
{
    percent <- x / max * 100
    cat(sprintf('\r\t[%-50s] %d%%',
    paste(rep('=', percent / 2), collapse = ''),
    floor(percent)))
    if (x == max)
    cat('\n')
}
我的问题是,如何做完全相同的事情,但在整个更新过程中,在栏下方显示一条额外的换行符?这是否可能以平台无关的方式实现


我尝试在第一个cat语句的末尾添加“\n”,但这会在新行上打印每个更新,而不是刷新原始行。

您不使用内置进度条做什么?因为虽然样式2在处理新行方面完全符合我的要求,但它是麻醉小问题,不显示主要问题的百分比。样式3看起来和功能都很好,但不允许打印新行。我不太确定你说的“麻醉”是什么意思,但我想我建议修改该功能的源代码,以实现你想要的。任何人在这里提出的任何东西都将是不那么复杂的版本。打字错误:不美观,但我会试试看。我想我是希望得到某种解释,解释为什么我最初的尝试没有成功。。。。。