在ruby中实现进程输出的最佳方法

时间:2014-11-25 10:15:16

标签: ruby shell command-line gradle

gradle build中,我可以看到当前流程如下:

# first is
> Loading
# and then change to 
> Configuring > 0/1 projects > root project

我的问题是:如何在一行中输出当前流程而不是两行,例如:

# first is:
> 0/46 download tasks are finished
# and then change this line to
> 1/46 downaload tasks are finished 

2 个答案:

答案 0 :(得分:0)

我使用https://github.com/paul/progress_bar gem来完成这些任务。

输出如下:

[#######################################                           ] [ 59.00%] [00:06]

您可以根据需要轻松配置它。

答案 1 :(得分:0)

您可以使用回车键\r在同一行重新打印,覆盖前一行:

10.times { |i| print "\r#{i}/10 times"; sleep 1 }
# => 5/10 times