perception 0.3.4 → 0.3.5
Sign up to get free protection for your applications and to get access to all the features.
- data/History.rdoc +2 -0
- data/Manifest.txt +5 -3
- data/README.rdoc +27 -11
- data/demo/Example_Output_1.rb +183 -0
- data/demo/Example_Output_2.rb +63 -0
- data/demo/{demo_pp.rb → demo1.rb} +34 -12
- data/demo/demo2.rb +37 -0
- data/demo/demo3.rb +201 -0
- data/lib/perception/date_and_time.rb +2 -0
- data/lib/perception/logging.rb +10 -2
- data/lib/perception/numeric.rb +58 -20
- data/lib/perception/perception_main.rb +87 -38
- data/lib/perception/perception_private.rb +15 -4
- data/lib/perception/ppp.rb +4 -3
- data/lib/perception/string_spread.rb +6 -2
- data/test/test_numeric.rb +9 -9
- data/version.rb +1 -1
- metadata +7 -5
- data/demo/demo_system_info.rb +0 -28
- data/demo/demo_zz.rb +0 -333
data/History.rdoc
CHANGED
data/Manifest.txt
CHANGED
@@ -5,9 +5,11 @@ Manifest.txt
|
|
5
5
|
Rakefile.rb
|
6
6
|
README.rdoc
|
7
7
|
version.rb
|
8
|
-
demo/
|
9
|
-
demo/
|
10
|
-
demo/
|
8
|
+
demo/demo1.rb
|
9
|
+
demo/demo2.rb
|
10
|
+
demo/demo3.rb
|
11
|
+
demo/Example_Output_1.rb
|
12
|
+
demo/Example_Output_2.rb
|
11
13
|
init.rb
|
12
14
|
lib/perception.rb
|
13
15
|
lib/perception/const.rb
|
data/README.rdoc
CHANGED
@@ -1,23 +1,39 @@
|
|
1
|
+
= Perception: Human perceptible printouts
|
2
|
+
http://bklippstein.github.com/perception/frames.html
|
1
3
|
|
2
|
-
|
4
|
+
Welcome to Perception. It's a intuitive toolkit for simple everyday debugging.
|
5
|
+
Perception offers a powerfull replacement for print, puts and pp and is an alternative to Awesome Print.
|
6
|
+
|
7
|
+
You get auto-intended and structured output on your console without any configuration.
|
8
|
+
|
9
|
+
Perception also offers temporary printouts (overwritten by the next print), printing two informations
|
10
|
+
in one line without destroying the structure and optionally slows down printing to readable speed,
|
11
|
+
depending on the complexity of the output.
|
3
12
|
|
4
|
-
http://bklippstein.github.com/perception/frames.html
|
5
13
|
|
6
|
-
Powerfull replacement for print, puts and pp
|
14
|
+
== see: Powerfull replacement for print, puts and pp
|
15
|
+
{include:Object#see}
|
16
|
+
More: {Object#see}
|
7
17
|
|
8
|
-
|
18
|
+
== log: use logging without configuration
|
19
|
+
You can use log instead of see, the formating is the same.
|
20
|
+
The log directory and the logfile are automatically created if necessary.
|
9
21
|
|
10
|
-
|
11
|
-
two informations in one place without destroying the structure.
|
22
|
+
More: {Object#log log}, {Object#rawlog rawlog}, {Perception::SeeSession#logger seee.logger}
|
12
23
|
|
13
|
-
|
24
|
+
== Intelligent round: slash needless digits
|
25
|
+
{include:Perception::NumericI#significant}
|
26
|
+
More: {Perception::NumericI#significant significant}
|
14
27
|
|
28
|
+
== Easily human readable numbers
|
29
|
+
{include:Perception::NumericI#inspect_see}
|
30
|
+
More: {Perception::NumericI#inspect_see inspect_see}
|
15
31
|
|
16
32
|
|
17
|
-
==
|
18
|
-
|
19
|
-
|
20
|
-
|
33
|
+
== Examples and Demos
|
34
|
+
* {file:demo/Example_Output_1.rb}
|
35
|
+
* {file:demo/Example_Output_2.rb}
|
36
|
+
* {file:demo/demo3.rb} (interactive)
|
21
37
|
|
22
38
|
|
23
39
|
== More Info
|
@@ -0,0 +1,183 @@
|
|
1
|
+
# See source code and run it for yourself: {file:demo/demo1.rb}
|
2
|
+
|
3
|
+
|
4
|
+
Basic Types
|
5
|
+
===========
|
6
|
+
|
7
|
+
|
8
|
+
1dim Arrays are printed verticaly, if their size is not too big:
|
9
|
+
|
10
|
+
|
11
|
+
['this', 'is', 'an', 'array', '1']
|
12
|
+
['this', 'is', 'another', 'array', '2']
|
13
|
+
['complex array', [1, 2, 3], {:key=>:value, :love=>:baby}, 4.0, :four]
|
14
|
+
[]
|
15
|
+
|
16
|
+
|
17
|
+
Other Objects:
|
18
|
+
ordinary string (without "")
|
19
|
+
(next one is empty)
|
20
|
+
empty
|
21
|
+
1
|
22
|
+
2
|
23
|
+
3
|
24
|
+
nil
|
25
|
+
true
|
26
|
+
false
|
27
|
+
:a_symbol
|
28
|
+
|
29
|
+
|
30
|
+
|
31
|
+
|
32
|
+
|
33
|
+
|
34
|
+
2dimensional Arrays
|
35
|
+
===================
|
36
|
+
|
37
|
+
|
38
|
+
2dim Arrays are printed like a table:
|
39
|
+
|
40
|
+
|
41
|
+
[['this', 'is', 'an', 'array', '1'],
|
42
|
+
['this', 'is', 'another', 'array', '2'],
|
43
|
+
['and', 'this', 'is', 'another', :tree],
|
44
|
+
['no', {:key=>:value}, 'just', 'another', 'array']]
|
45
|
+
|
46
|
+
|
47
|
+
|
48
|
+
|
49
|
+
[['one', 'a', 'b', 'c'],
|
50
|
+
['two', 'long_longlong_long_long', 'also_long, also_long, also_long_also', 'hallo'],
|
51
|
+
['three', 'also_long, also_long, also_long_also', 'also_long, also_long, also_long_also', 'long_longlong_long_long']]
|
52
|
+
|
53
|
+
|
54
|
+
|
55
|
+
|
56
|
+
|
57
|
+
|
58
|
+
Nested Objects
|
59
|
+
==============
|
60
|
+
|
61
|
+
|
62
|
+
Nested objects reveal their structure. Lower hierary levels may be reduced for this:
|
63
|
+
|
64
|
+
|
65
|
+
#<Perception::SeeSession:0x2aa0cc8
|
66
|
+
@call_stack_last = 5,
|
67
|
+
@call_stack_now = 6,
|
68
|
+
@cursor_now = 1148,
|
69
|
+
@delayed_clear = false,
|
70
|
+
@delayed_newlines = 0,
|
71
|
+
@indent = false,
|
72
|
+
@level = 1,
|
73
|
+
@logger = #<Logger:0x2ae80c8 @default_formatter=#<>, @formatter=nil, @level=0, @logdev=#<<><<>>>, @progname=nil>,
|
74
|
+
@method_last = :puts,
|
75
|
+
@method_now = :pp,
|
76
|
+
@out = {:console, :log},
|
77
|
+
@speed = nil,
|
78
|
+
@string_last = '
|
79
|
+
',
|
80
|
+
@time_last = 2012-10-18 Thursday 23:27:03>
|
81
|
+
|
82
|
+
|
83
|
+
The Logger has been reduced. This is its detail view:
|
84
|
+
|
85
|
+
|
86
|
+
#<Logger:0x2ae80c8
|
87
|
+
@default_formatter = #<Logger::Formatter:0x2ae8020 @datetime_format=nil>,
|
88
|
+
@formatter = nil,
|
89
|
+
@level = 0,
|
90
|
+
@logdev = #<Logger::LogDevice:0x2af3750 @dev=#<File:C:/Ruby-Projekte/perception/log/see.log>, @filename='C:/Ruby-Projekte/perception/log/see.log', @mutex=#<<>>, @shift_age=0, @shift_size=1048576>,
|
91
|
+
@progname = nil>
|
92
|
+
|
93
|
+
|
94
|
+
|
95
|
+
|
96
|
+
PrettyPrint shows all at one, but its very hard to read:
|
97
|
+
|
98
|
+
|
99
|
+
PrettyPrint shows all at one, but its very hard to read:
|
100
|
+
|
101
|
+
#<Perception::SeeSession:0x2aa0cc8
|
102
|
+
@call_stack_last=5,
|
103
|
+
@call_stack_now=5,
|
104
|
+
@cursor_now=2196,
|
105
|
+
@delayed_clear=false,
|
106
|
+
@delayed_newlines=1,
|
107
|
+
@indent=false,
|
108
|
+
@level=1,
|
109
|
+
@logger=
|
110
|
+
#<Logger:0x2ae80c8
|
111
|
+
@default_formatter=#<Logger::Formatter:0x2ae8020 @datetime_format=nil>,
|
112
|
+
@formatter=nil,
|
113
|
+
@level=0,
|
114
|
+
@logdev=
|
115
|
+
#<Logger::LogDevice:0x2af3750
|
116
|
+
@dev=#<File:C:/Ruby-Projekte/perception/log/see.log>,
|
117
|
+
@filename='C:/Ruby-Projekte/perception/log/see.log',
|
118
|
+
@mutex=
|
119
|
+
#<Logger::LogDevice::LogDeviceMutex:0x2af3738
|
120
|
+
@mon_count=0,
|
121
|
+
@mon_mutex=#<Mutex:0x2af36c0>,
|
122
|
+
@mon_owner=nil>,
|
123
|
+
@shift_age=0,
|
124
|
+
@shift_size=1048576>,
|
125
|
+
@progname=nil>,
|
126
|
+
@method_last=:puts,
|
127
|
+
@method_now=:puts,
|
128
|
+
@out={:console, :log},
|
129
|
+
@speed=nil,
|
130
|
+
@string_last='',
|
131
|
+
@time_last=2012-10-18 Thursday 23:27:03>
|
132
|
+
|
133
|
+
|
134
|
+
|
135
|
+
|
136
|
+
|
137
|
+
|
138
|
+
|
139
|
+
Hash
|
140
|
+
====
|
141
|
+
|
142
|
+
|
143
|
+
{:this=>:hash, :in=>:one, :see=>'short hash in one line'}
|
144
|
+
|
145
|
+
|
146
|
+
|
147
|
+
|
148
|
+
{:this => :hash,
|
149
|
+
:size => '> 3',
|
150
|
+
:see => 'longer hash in multiple lines',
|
151
|
+
:another_key => 'another value'}
|
152
|
+
|
153
|
+
|
154
|
+
|
155
|
+
|
156
|
+
{:hash => true,
|
157
|
+
:init => true,
|
158
|
+
:nil => nil,
|
159
|
+
:symbol => :symbol,
|
160
|
+
:text => 'text',
|
161
|
+
:array => [1, 2, 3],
|
162
|
+
:integer => 1,
|
163
|
+
:string => 'hallo',
|
164
|
+
:nochn_hash => {:key=>:value, :bla=>:blubb, :array=>[:a, :b, :c], :another_key=>'another value'}}
|
165
|
+
|
166
|
+
|
167
|
+
|
168
|
+
|
169
|
+
|
170
|
+
|
171
|
+
Dictionary
|
172
|
+
==========
|
173
|
+
|
174
|
+
|
175
|
+
{:a_dictionary => true,
|
176
|
+
:b_init => true,
|
177
|
+
:c_symbol => :symbol,
|
178
|
+
:d_array => [1, 2, 3],
|
179
|
+
:e_integer => 1,
|
180
|
+
:f_string => 'hallo',
|
181
|
+
:g_subdictionary => {:a=>:value, :b=>'blubb', :c=>2, :d=>[:a, :b, :c], :e=>{:key=>:value}, :f=>'hallo'}}
|
182
|
+
|
183
|
+
|
@@ -0,0 +1,63 @@
|
|
1
|
+
|
2
|
+
see (Perception)
|
3
|
+
================
|
4
|
+
|
5
|
+
see RbConfig::CONFIG
|
6
|
+
=>
|
7
|
+
{'DESTDIR' => 'C:',
|
8
|
+
'MAJOR' => '1',
|
9
|
+
'MINOR' => '9',
|
10
|
+
'TEENY' => '1',
|
11
|
+
'PATCHLEVEL' => '125',
|
12
|
+
'INSTALL' => '/usr/bin/install -c',
|
13
|
+
'EXEEXT' => '.exe',
|
14
|
+
'prefix' => 'C:/Rails/Ruby1.9.3',
|
15
|
+
'ruby_install_name' => 'ruby',
|
16
|
+
'RUBY_INSTALL_NAME' => 'ruby',
|
17
|
+
'RUBY_SO_NAME' => 'msvcrt-ruby191',
|
18
|
+
'exec' => 'exec',
|
19
|
+
'ruby_pc' => 'ruby-1.9.pc',
|
20
|
+
'PACKAGE' => 'ruby',
|
21
|
+
'BUILTIN_TRANSSRCS' => ' newline.c',
|
22
|
+
'USE_RUBYGEMS' => 'YES',
|
23
|
+
'MANTYPE' => 'man',
|
24
|
+
'NROFF' => '/bin/false',
|
25
|
+
'vendorhdrdir' => 'C:/Rails/Ruby1.9.3/include/ruby-1.9.1/vendor_ruby',
|
26
|
+
'sitehdrdir' => 'C:/Rails/Ruby1.9.3/include/ruby-1.9.1/site_ruby',
|
27
|
+
'rubyhdrdir' => 'C:/Rails/Ruby1.9.3/include/ruby-1.9.1',
|
28
|
+
'UNIVERSAL_INTS' => '',
|
29
|
+
...
|
30
|
+
|
31
|
+
|
32
|
+
pp (PrettyPrint)
|
33
|
+
================
|
34
|
+
|
35
|
+
pp RbConfig::CONFIG
|
36
|
+
=>
|
37
|
+
{'DESTDIR'=>'C:',
|
38
|
+
'MAJOR'=>'1',
|
39
|
+
'MINOR'=>'9',
|
40
|
+
'TEENY'=>'1',
|
41
|
+
'PATCHLEVEL'=>'125',
|
42
|
+
'INSTALL'=>'/usr/bin/install -c',
|
43
|
+
'EXEEXT'=>'.exe',
|
44
|
+
'prefix'=>'C:/Rails/Ruby1.9.3',
|
45
|
+
'ruby_install_name'=>'ruby',
|
46
|
+
'RUBY_INSTALL_NAME'=>'ruby',
|
47
|
+
'RUBY_SO_NAME'=>'msvcrt-ruby191',
|
48
|
+
'exec'=>'exec',
|
49
|
+
'ruby_pc'=>'ruby-1.9.pc',
|
50
|
+
'PACKAGE'=>'ruby',
|
51
|
+
'BUILTIN_TRANSSRCS'=>' newline.c',
|
52
|
+
'USE_RUBYGEMS'=>'YES',
|
53
|
+
'MANTYPE'=>'man',
|
54
|
+
'NROFF'=>'/bin/false',
|
55
|
+
'vendorhdrdir'=>'C:/Rails/Ruby1.9.3/include/ruby-1.9.1/vendor_ruby',
|
56
|
+
'sitehdrdir'=>'C:/Rails/Ruby1.9.3/include/ruby-1.9.1/site_ruby',
|
57
|
+
'rubyhdrdir'=>'C:/Rails/Ruby1.9.3/include/ruby-1.9.1',
|
58
|
+
'UNIVERSAL_INTS'=>'',
|
59
|
+
...
|
60
|
+
|
61
|
+
|
62
|
+
|
63
|
+
|
@@ -1,5 +1,9 @@
|
|
1
1
|
# ruby encoding: utf-8
|
2
|
-
#
|
2
|
+
#
|
3
|
+
# This generates Example_Output_1.
|
4
|
+
# --------------------------------
|
5
|
+
#
|
6
|
+
#
|
3
7
|
if $0 == __FILE__
|
4
8
|
require 'drumherum'
|
5
9
|
smart_init
|
@@ -13,7 +17,7 @@ module Perception #:nodoc
|
|
13
17
|
@@initialized_count = 0
|
14
18
|
|
15
19
|
def initialize( announce_first=true )
|
16
|
-
|
20
|
+
seee.out << :log
|
17
21
|
@@initialized_count += 1
|
18
22
|
return if (@@initialized_count == 1 && !announce_first)
|
19
23
|
#seee.slow!(0.5)
|
@@ -32,18 +36,21 @@ module Perception #:nodoc
|
|
32
36
|
# wait_for_key('Press any key to start')
|
33
37
|
|
34
38
|
|
35
|
-
end #
|
39
|
+
end # defü
|
36
40
|
|
37
41
|
|
38
42
|
|
39
43
|
# Printing basic types
|
40
44
|
def demo_see_basic_types
|
41
|
-
see '1dim Arrays:'
|
42
|
-
seee.indent!
|
45
|
+
see '1dim Arrays are printed verticaly, if their size is not too big:'
|
43
46
|
see
|
47
|
+
seee.left!
|
48
|
+
see a=['this','is','an','array','1']
|
49
|
+
see b=['this','is','another','array','2']
|
50
|
+
see d=['complex array', [1,2,3], {:key => :value, :love => :baby}, 4.0, :four]
|
51
|
+
see []
|
44
52
|
see
|
45
53
|
see 'Other Objects:'
|
46
|
-
see []
|
47
54
|
see 'ordinary string (without "")'
|
48
55
|
see '(next one is empty)'
|
49
56
|
see ''
|
@@ -55,17 +62,30 @@ module Perception #:nodoc
|
|
55
62
|
see false
|
56
63
|
see :a_symbol
|
57
64
|
|
58
|
-
see ['complex array', [1,2,3], {:key => :value, :love => :baby}, 3.0 , '']
|
59
65
|
end # def
|
60
66
|
|
61
67
|
|
62
68
|
def demo_see_pp_object
|
69
|
+
see 'Nested objects reveal their structure. Lower hierary levels may be reduced for this:'
|
70
|
+
see
|
63
71
|
seee.logger
|
64
72
|
see seee
|
73
|
+
see
|
74
|
+
see 'The Logger has been reduced. This is it''s detail view:'
|
75
|
+
see
|
76
|
+
see seee.logger
|
77
|
+
see
|
78
|
+
see
|
79
|
+
see 'PrettyPrint shows all at one, but it''s very hard to read:'
|
80
|
+
see
|
81
|
+
pp seee
|
65
82
|
end
|
66
83
|
|
67
84
|
|
85
|
+
|
68
86
|
def demo_see_pp_array
|
87
|
+
see '2dim Arrays are printed like a table:'
|
88
|
+
see
|
69
89
|
@array1 = []
|
70
90
|
@array1 << ['this','is','an','array','1']
|
71
91
|
@array1 << ['this','is','another','array','2']
|
@@ -129,13 +149,14 @@ module Perception #:nodoc
|
|
129
149
|
|
130
150
|
|
131
151
|
def self.see_all_demos
|
132
|
-
Perception::DemoSee.new('
|
133
|
-
Perception::DemoSee.new('
|
134
|
-
Perception::DemoSee.new('
|
135
|
-
Perception::DemoSee.new('
|
152
|
+
Perception::DemoSee.new('Basic Types').demo_see_basic_types
|
153
|
+
Perception::DemoSee.new('2dimensional Arrays').demo_see_pp_array
|
154
|
+
Perception::DemoSee.new('Nested Objects').demo_see_pp_object
|
155
|
+
Perception::DemoSee.new('Hash').demo_see_pp_hash
|
156
|
+
Perception::DemoSee.new('Dictionary').demo_see_pp_dictionary
|
136
157
|
|
137
158
|
|
138
|
-
|
159
|
+
|
139
160
|
|
140
161
|
end
|
141
162
|
|
@@ -147,6 +168,7 @@ end # class
|
|
147
168
|
|
148
169
|
if $0 == __FILE__ then
|
149
170
|
|
171
|
+
# seee.out << :log
|
150
172
|
Perception::DemoSee.see_all_demos
|
151
173
|
|
152
174
|
|
data/demo/demo2.rb
ADDED
@@ -0,0 +1,37 @@
|
|
1
|
+
# ruby encoding: utf-8
|
2
|
+
# ü
|
3
|
+
if $0 == __FILE__
|
4
|
+
require 'drumherum'
|
5
|
+
smart_init
|
6
|
+
require 'perception'
|
7
|
+
end
|
8
|
+
|
9
|
+
require 'rbconfig'
|
10
|
+
# seee.out << :log
|
11
|
+
see "see RbConfig::CONFIG"
|
12
|
+
see "=>"
|
13
|
+
see RbConfig::CONFIG
|
14
|
+
see
|
15
|
+
see
|
16
|
+
see "---------------------------------------------------------------------------------------"
|
17
|
+
see
|
18
|
+
# see "pp RbConfig::CONFIG"
|
19
|
+
# see "=>"
|
20
|
+
# pp RbConfig::CONFIG
|
21
|
+
|
22
|
+
|
23
|
+
|
24
|
+
|
25
|
+
|
26
|
+
# require 'awesome_print'
|
27
|
+
# ap RbConfig::CONFIG
|
28
|
+
|
29
|
+
|
30
|
+
|
31
|
+
|
32
|
+
|
33
|
+
|
34
|
+
|
35
|
+
|
36
|
+
|
37
|
+
|
data/demo/demo3.rb
ADDED
@@ -0,0 +1,201 @@
|
|
1
|
+
# ruby encoding: utf-8
|
2
|
+
# ü
|
3
|
+
if $0 == __FILE__
|
4
|
+
require 'drumherum'
|
5
|
+
smart_init
|
6
|
+
require 'perception'
|
7
|
+
end
|
8
|
+
|
9
|
+
|
10
|
+
module Perception #:nodoc
|
11
|
+
|
12
|
+
class DemoSee
|
13
|
+
@@initialized_count = 0
|
14
|
+
|
15
|
+
def initialize( announce_first=true )
|
16
|
+
#seee.out << :log
|
17
|
+
@@initialized_count += 1
|
18
|
+
return if (@@initialized_count == 1 && !announce_first)
|
19
|
+
#seee.slow!(0.5)
|
20
|
+
seee.left!
|
21
|
+
#seee.indent!
|
22
|
+
see ("\n" * 5) if @@initialized_count > 1
|
23
|
+
|
24
|
+
if announce_first.kind_of?(String)
|
25
|
+
see announce_first
|
26
|
+
see '='*announce_first.size
|
27
|
+
else
|
28
|
+
see "Perception Demo ##{@@initialized_count}"
|
29
|
+
see "=================="
|
30
|
+
end
|
31
|
+
see
|
32
|
+
wait_for_key('Press any key to start')
|
33
|
+
end # def
|
34
|
+
|
35
|
+
|
36
|
+
|
37
|
+
def demo_level
|
38
|
+
seee.slow!
|
39
|
+
see "The printout is automaticaly indented. This is the printout of a nested structure of #see's:"
|
40
|
+
see
|
41
|
+
see
|
42
|
+
seee.indent!
|
43
|
+
sub_demo_level
|
44
|
+
see
|
45
|
+
see
|
46
|
+
#wait_for_key
|
47
|
+
see 'You can force left printout with seee.left!. Reactivate indention with seee.indent!.'
|
48
|
+
seee.left!
|
49
|
+
see
|
50
|
+
see
|
51
|
+
sub_demo_level
|
52
|
+
end
|
53
|
+
|
54
|
+
|
55
|
+
def sub_demo_level
|
56
|
+
see "Hello world. This is level zero. "
|
57
|
+
(1..1).each do
|
58
|
+
see "This is the beginning of level one."
|
59
|
+
1.downto(1) do
|
60
|
+
see "This is the beginning of level two."
|
61
|
+
1.upto(1) do
|
62
|
+
see "This is the beginning of level three."
|
63
|
+
1.times do
|
64
|
+
see "This is the beginning of level four."
|
65
|
+
see "This is the end of level four."
|
66
|
+
end
|
67
|
+
see "This is the end of level three."
|
68
|
+
end
|
69
|
+
see "This is the end of level two."
|
70
|
+
end
|
71
|
+
see "This is the end of level one."
|
72
|
+
end
|
73
|
+
see "This is level zero again. Bye. "
|
74
|
+
end # def
|
75
|
+
|
76
|
+
|
77
|
+
|
78
|
+
|
79
|
+
|
80
|
+
|
81
|
+
# slow printing
|
82
|
+
def demo_see_slowdown1
|
83
|
+
seee.slow!
|
84
|
+
see "You can slow down printing with seee.slow!"
|
85
|
+
see
|
86
|
+
see 'This is a string'
|
87
|
+
see 'and here we have a longer one.'
|
88
|
+
see 'so we need even longeer strings, but they all have to be different.'
|
89
|
+
see '#see has forgotten the first string. So I will tell him again: This is a string. and here we have a longer one. '
|
90
|
+
see 'In slow mode #see waits for you to read the lines. More words, longer waiting.'
|
91
|
+
see 'short prints...'
|
92
|
+
see '...short waiting.'
|
93
|
+
see 'short prints...'
|
94
|
+
see '...short waiting.'
|
95
|
+
see
|
96
|
+
see
|
97
|
+
string = 'This string is getting longer.'
|
98
|
+
(1..10).each do |i|
|
99
|
+
see string
|
100
|
+
string += ' But it repeats.'
|
101
|
+
end
|
102
|
+
see
|
103
|
+
see '#see only counts those words you have to read.'
|
104
|
+
see
|
105
|
+
see
|
106
|
+
see 'You can choose the speed. seee.slow!(0.5) is faster: '
|
107
|
+
|
108
|
+
wait_for_key
|
109
|
+
see
|
110
|
+
seee.slow!(0.5)
|
111
|
+
see 'This is a string'
|
112
|
+
see 'and here we have a longer one.'
|
113
|
+
see 'so we need even longeer strings, but they all have to be different.'
|
114
|
+
see '#see has forgotten the first string. So I will tell him again: This is a string. and here we have a longer one. '
|
115
|
+
see 'In slow mode #see waits for you to read the lines. More words, longer waiting.'
|
116
|
+
see 'short prints...'
|
117
|
+
see '...short waiting.'
|
118
|
+
see '...short waiting.'
|
119
|
+
string = 'This string is getting longer.'
|
120
|
+
(1..10).each do |i|
|
121
|
+
see string
|
122
|
+
string += ' But it repeats.'
|
123
|
+
end
|
124
|
+
see
|
125
|
+
see '#see only counts those words you have to read.'
|
126
|
+
see
|
127
|
+
end
|
128
|
+
|
129
|
+
|
130
|
+
|
131
|
+
|
132
|
+
# Simple benchmarking
|
133
|
+
def demo_bench
|
134
|
+
see 'You always get the time since last print with seee.bench.'
|
135
|
+
see 'You can use this for simple benchmarking:'
|
136
|
+
see "I'm counting to 50 000 000, please wait."
|
137
|
+
50000000.downto(0) {}
|
138
|
+
see "it took #{seee.bench} seconds."
|
139
|
+
|
140
|
+
end
|
141
|
+
|
142
|
+
|
143
|
+
# temporary printing
|
144
|
+
def demo_see_temp_and_clear_last
|
145
|
+
seee.slow!
|
146
|
+
see_print "countdown: "
|
147
|
+
10.downto(0) do |i|
|
148
|
+
see_temp i
|
149
|
+
end
|
150
|
+
see 'finished!'
|
151
|
+
sleep 1
|
152
|
+
seee.clear!
|
153
|
+
see 'You can clear the last print with seee.clear!'
|
154
|
+
see 'And you can print temporary informations with see_temp'
|
155
|
+
end
|
156
|
+
|
157
|
+
|
158
|
+
|
159
|
+
# print two informations on one line
|
160
|
+
def demo_alternate_see
|
161
|
+
see ['horst.maierman','PW-AEerSDFs', 'addional', 'information', :one]
|
162
|
+
see ['claudia.hoppe','27546522sdfgdz3s', 'addional', 'information', :two]
|
163
|
+
see ['nadja.hirsch','Minnie', 'addional', 'information', :three]
|
164
|
+
seee.flash! ' Bad password! '
|
165
|
+
see ['tom.flupper','Gs3Kkd2', 'addional', 'information', :five]
|
166
|
+
see ['anna.chevrezonk','2sdtg&fH', 'addional', 'information', :six]
|
167
|
+
see ['hardy.schwarzer','dfjhRfDdtis', 'addional', 'information', :seven]
|
168
|
+
end
|
169
|
+
|
170
|
+
|
171
|
+
|
172
|
+
|
173
|
+
def self.see_all_demos
|
174
|
+
Perception::DemoSee.new('Automatic Indenting').demo_level
|
175
|
+
Perception::DemoSee.new('Slowing down').demo_see_slowdown1
|
176
|
+
Perception::DemoSee.new('Simple Benchmarking').demo_bench
|
177
|
+
Perception::DemoSee.new('Progress Indicator').demo_see_temp_and_clear_last
|
178
|
+
Perception::DemoSee.new('Two layers of information in one line').demo_alternate_see
|
179
|
+
end
|
180
|
+
|
181
|
+
|
182
|
+
|
183
|
+
end # class
|
184
|
+
end # class
|
185
|
+
|
186
|
+
|
187
|
+
if $0 == __FILE__ then
|
188
|
+
|
189
|
+
Perception::DemoSee.see_all_demos
|
190
|
+
|
191
|
+
end
|
192
|
+
|
193
|
+
|
194
|
+
|
195
|
+
|
196
|
+
|
197
|
+
|
198
|
+
|
199
|
+
|
200
|
+
|
201
|
+
|