r - 通过替换旧行在控制台中打印多行文本
问题描述
我想将三行文本打印到控制台,替换当前打印的三行。这里的解决方案不适用于三行。
我希望每次迭代都有这个输出:
1号线
2号线
3号线
我尝试了以下方法:
for(i in 1:3){
cat('\rLine1', '\rLine2', '\rLine3')
}
输出:第 3 行
for(i in 1:3){
cat('\rLine1', '\nLine2', '\nLine3')
}
输出:
1号线
2号线
1号线
2号线
1号线
2号线
3号线
for(i in 1:3){
cat('\rLine1', 'Line2', 'Line3')
}
输出: Line1 Line2 Line3 Line2 Line3
请注意,acutall 文本是不同的,而不是 line1、line2 和 line3,但它实际上是一个函数的进度,经过和预测的时间,但所有变量都是字符。看
cat('\rProgress: |',rep('=',floor((i/iterations)*50)),rep(' ',50 - floor((i/iterations)*50)),'|',
'Elapsed time:', elapsedTime,
'Time left:', predictedTime,
sep = '')
实际代码太长太复杂,因此我提供了上面的示例。所需的输出是
进度:|=====================|
经过时间:0 小时、0 分钟、4 秒
剩余时间:0 小时 0 分钟 10 秒
解决方案
尝试这个:
lines <- rep(c("Line1", "Line2", "Line3"), 3) # for 3 iterations
cat(lines, sep = "\n")
#output
Line1
Line2
Line3
Line1
Line2
Line3
Line1
Line2
Line3
推荐阅读
- typescript - 从 TypeScript 界面中的属性中检测重复值
- excel - VBA:根据列中第一次出现的值删除excel行
- python - 使用 matplotlib 绘制带有切割单元的二维数组
- google-sheets - 有没有更好的方法在 Google 表格中复制列数组 n 次
- python - 如何在 Matplotlib 图中单独标记条形?
- firebase - 如何将初始值传递给 Timer 小部件 - Flutter
- google-cloud-platform - Google Cloud 硬配额限制
- arduino - 我们可以在 STM32 上使用 arduino 库(例如电机屏蔽库)吗?
- python - Python中是否有替代“异常原因”的用例?
- python - 为什么我不能像 [...].append(...) 那样使用 append() 方法?