index:eJ
最終更新日: 2005-05-22 00:28:53
--
Ruby/ProgressBar はプログレスバーをテキストで表示する Ruby用 のライブラリです。処理の進捗状況をパーセント、プログレスバー、 および推定残り時間として表示します。
最新版は <URL:http://namazu.org/~satoru/ruby-progressbar/> から入手可能です
% irb --simple-prompt -r progressbar
>> pbar = ProgressBar.new("test", 100)
=> (ProgressBar: 0/100)
>> 100.times {sleep(0.1); pbar.inc}; pbar.finish
test: 100% |oooooooooooooooooooooooooooooooooooooooo| Time: 00:00:10
=> nil
>> pbar = ProgressBar.new("test", 100)
=> (ProgressBar: 0/100)
>> (1..100).each{|x| sleep(0.1); pbar.set(x)}; pbar.finish
test: 67% |oooooooooooooooooooooooooo | ETA: 00:00:03
ProgressBar#new (title, total, out = STDERR)プログレスバーの初期状態を表示し、新しい ProgressBarオブ ジェクトを返す。title で見出しを、total で処 理の総計を、out で出力先の IO を設定する。
プログレスバーの表示は、前回の表示から進捗が 1%以上あっ たとき、あるいは 1秒以上経過した場合に更新されます。
ProgressBar#inc (step = 1)ProgressBar#set (count)ProgressBar#finishProgressBar#haltProgressBar#format=ProgressBar#format_arguments=ProgressBar#file_transfer_modeReverseProgressBar というクラスも提供されます。機能は ProgressBar とまったく同じですが、プログレスバーの進行方向が 逆になっています。
進捗状況を処理の総計に対する割合として計算するため、処理の総 計が事前にわからない状況では使えません。また、進捗の流れが均 一でないときには残り時間の推定は正しく行えません。
Ruby のライセンスに従ったフリーソフトウェアとして公開します。 完全に無保証です。
--