summaryrefslogtreecommitdiff
path: root/sample/observ.rb
diff options
context:
space:
mode:
authormatz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>1999-01-20 04:59:39 +0000
committermatz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>1999-01-20 04:59:39 +0000
commit210367ec889f5910e270d6ea2c7ddb8a8d939e61 (patch)
treefeb35473da45947378fbc02defe39bcd79ef600e /sample/observ.rb
parent9c5b1986a36c7a700b4c76817e35aa874ba7907c (diff)
This commit was generated by cvs2svn to compensate for changes in r372,
which included commits to RCS files with non-trunk default branches. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@373 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'sample/observ.rb')
-rw-r--r--sample/observ.rb15
1 files changed, 8 insertions, 7 deletions
diff --git a/sample/observ.rb b/sample/observ.rb
index f7b1e73..72e5178 100644
--- a/sample/observ.rb
+++ b/sample/observ.rb
@@ -7,25 +7,26 @@ class Tick
include Observable
def initialize
Thread.start do
- while TRUE
+ loop do
sleep 0.999
+ now = Time.now
changed
- notify_observers(Time.now.strftime("%H:%M:%S"))
+ notify_observers(now.hour, now.min, now.sec)
end
end
end
end
class Clock
- def initialize
- @tick = Tick.new
+ def initialize(tick)
+ @tick = tick
@tick.add_observer(self)
end
- def update(time)
- print "\e[8D", time
+ def update(h, m, s)
+ printf "\e[8D%02d:%02d:%02d", h, m, s
STDOUT.flush
end
end
-clock = Clock.new
+clock = Clock.new(Tick.new)
sleep