=begin index:eJ = Ruby/ProgressBar: プログレスバーをテキストで表示する Ruby用のライブラリ 最終更新日: 2005-05-22 00:28:53 -- Ruby/ProgressBar はプログレスバーをテキストで表示する Ruby用 のライブラリです。処理の進捗状況をパーセント、プログレスバー、 および推定残り時間として表示します。 最新版は (()) から入手可能です == 使用例 % 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 == API --- ProgressBar#new (title, total, out = STDERR) プログレスバーの初期状態を表示し、新しい ProgressBarオブ ジェクトを返す。((|title|)) で見出しを、((|total|)) で処 理の総計を、((|out|)) で出力先の IO を設定する。 プログレスバーの表示は、前回の表示から進捗が 1%以上あっ たとき、あるいは 1秒以上経過した場合に更新されます。 --- ProgressBar#inc (step = 1) 内部のカウンタを ((|step|)) 数だけ進めて、プログレスバー の表示を更新する。バーの右側には推定残り時間を表示する。 カウンタは ((|total|)) を越えて進むことはない。 --- ProgressBar#set (count) カウンタの値を ((|count|)) に設定し、プログレスバーの 表示を更新する。バーの右側には推定残り時間を表示する。 ((|count|)) にマイナスの値あるいは ((|total|)) より大き い値を渡すと例外が発生する。 --- ProgressBar#finish プログレスバーを停止し、プログレスバーの表示を更新する。 プログレスバーの右側には経過時間を表示する。 このとき、プログレスバーは 100% で終了する。 --- ProgressBar#halt プログレスバーを停止し、プログレスバーの表示を更新する。 プログレスバーの右側には経過時間を表示する。 このとき、プログレスバーはその時点のパーセンテージで終了する。 --- ProgressBar#format= プログレスバー表示のフォーマットを設定する。 未変更時は "%-14s %3d%% %s %s" --- ProgressBar#format_arguments= プログレスバー表示に使う関数を設定する。 未変更時は [:title, :percentage, :bar, :stat] ファイル転送時には :stat の変わりに :stat_for_file_transfer を使うと転送バイト数と転送速度を表示できる。 --- ProgressBar#file_transfer_mode プログレスバー表示に :stat の変わりに :stat_for_file_transfer を使い、転送バイト数と転送速度を表示する。 ReverseProgressBar というクラスも提供されます。機能は ProgressBar とまったく同じですが、プログレスバーの進行方向が 逆になっています。 == 制限事項 進捗状況を処理の総計に対する割合として計算するため、処理の総 計が事前にわからない状況では使えません。また、進捗の流れが均 一でないときには残り時間の推定は正しく行えません。 == ダウンロード Ruby のライセンスに従ったフリーソフトウェアとして公開します。 完全に無保証です。 * (()) * (()) -- - (()) - =end