👻
端末に進捗状況を表示する
概要
端末に進捗状況を表示する方法を記載します。
やってみる
# frozen_string_literal: true
100.times do |num|
print "Progress: |#{'=' * num}"
sleep 0.02
print "\e[1G\e[2K"
end
実行すると、次のようになります。
russ@penguin:~$ ruby progress.rb
Progress: |=========================================
解説
エスケープシーケンスを用いて画面制御を行います。[1G
でカーソルを左端に移動し、[2K
で行の全体を消去しています。https://www.mm2d.net/main/prog/c/console-02.html を参考に作成致しました。
Discussion