Rubyで進捗バーのようなものを表示させる方法を調べていたところ、ruby-progressbar なるパッケージがあることを知りました。
gem install ruby-progressbar
のように gem install で紹介しているものもありましたが、debian パッケージとしても配布しているようです。こっちの方法でインストールすることにしました。
Debian -- Details of package ruby-progressbar in buster
sudo apt install -y ruby-progressbar
サンプルコードは下記のサイトを参考にしました。コードは次のとおり。
ruby-progressbarで少し格好いいCLIに - Bye Bye Moore
Format についてはリンク先を参照のこと。
File: README — Documentation for ruby-progressbar (1.0.1)
require 'ruby-progressbar' if __FILE__ == $0 then max = 1000 pbhash = {:title=>'Progress',:total=>max,:format=>'%e |%b>%i %p%% %t'} pb = ProgressBar.create(pbhash) max.times{ pb.increment sleep 0.02 } pb.finish end
実行中の表示は以下のようになります。
いつか役に立つときが来ると信じて。