1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
|
=begin
index:eJ
= Ruby/ProgressBar: ¥×¥í¥°¥ì¥¹¥Ð¡Œ€ò¥Æ¥¥¹¥È€ÇÉœŒš€¹€ë RubyÍрΥ饀¥Ö¥é¥ê
ºÇœª¹¹¿·Æü: 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
== 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 €Î¥é¥€¥»¥ó¥¹€ËœŸ€Ã€¿¥Õ¥ê¡Œ¥œ¥Õ¥È¥Š¥§¥¢€È€·€Æžø³«€·€Þ€¹¡£
Ž°ÁŽ€Ë̵Êݟڀǀ¹¡£
* ((<URL:http://namazu.org/~satoru/ruby-progressbar/ruby-progressbar-0.9.tar.gz>))
* ((<URL:http://cvs.namazu.org/ruby-progressbar/>))
--
- ((<Satoru Takabayashi|URL:http://namazu.org/~satoru/>)) -
=end
|