ruby 编写控制台进度条
ruby 中,$stdout.flush 让控制台当前行内容可以重写,以此我们可以做出进度条的效果。
def set_progress(index, char = '*')
print (char * (index / 2.5).floor).ljust(40, " "), " #{index}%\r"
end
100.times do |i|
set_progress(i + 1)
$stdout.flush
sleep 0.05
end
puts
ruby 中,$stdout.flush 让控制台当前行内容可以重写,以此我们可以做出进度条的效果。
def set_progress(index, char = '*')
print (char * (index / 2.5).floor).ljust(40, " "), " #{index}%\r"
end
100.times do |i|
set_progress(i + 1)
$stdout.flush
sleep 0.05
end
puts