【问题标题】:Dynamic status message from inside a for loop来自 for 循环内部的动态状态消息
【发布时间】:2021-03-06 07:43:50
【问题描述】:

我有时会做(嵌套)for 循环,这需要一段时间,所以我喜欢在索引中添加一条消息。通常,我会这样做:

for (i in 1:1000) {
  cat(paste0(i, " "))
}

但我已经尝试过以下任何一种:

for (i in 1:1000) {
  print(i)
}
for (i in 1:1000) {
  cat(paste(i, " ")) # or "\n", doesn't matter
}
for (i in 1:1000) {
  message(i)
}

但是,这显然会连续生成文本(在此示例中,消息会很快通过,但正如我所说,我经常使用嵌套的 for 循环,这需要相当长的时间)。但是,我想做一条动态消息,在我的控制台上有一个不断变化的数字(索引)。我想这样的事情是可能的,因为当你安装一个包(或使用gganimate)时,有那一行不断变为=标志,表示进度(这是下一级的东西,但应该有相同的想法后面)。

我不知道该怎么做。我的猜测是有一些与\n 相同的上下文,比如\s(我知道它不存在,但它只是给出一个想法),或者可能有第三个函数(或与@987654331 相关的东西@,我不完全理解)除了print()cat()message()

【问题讨论】:

标签: r for-loop printing status


【解决方案1】:

如果每次清空控制台都可以,可以:

for (i in 1:1000) {
    for(j in 1:1000){
        for(k in 1:1000){
            cat(paste('\014',i, j, k))
        }
    }
}

【讨论】:

    猜你喜欢
    • 2021-04-07
    • 2018-01-03
    • 2021-05-06
    • 1970-01-01
    • 2016-08-19
    • 2019-07-03
    • 2019-09-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多