mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
210367ec88
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
32 lines
470 B
Ruby
32 lines
470 B
Ruby
#! /usr/local/bin/ruby
|
|
|
|
require "thread"
|
|
require "observer"
|
|
|
|
class Tick
|
|
include Observable
|
|
def initialize
|
|
Thread.start do
|
|
loop do
|
|
sleep 0.999
|
|
now = Time.now
|
|
changed
|
|
notify_observers(now.hour, now.min, now.sec)
|
|
end
|
|
end
|
|
end
|
|
end
|
|
|
|
class Clock
|
|
def initialize(tick)
|
|
@tick = tick
|
|
@tick.add_observer(self)
|
|
end
|
|
def update(h, m, s)
|
|
printf "\e[8D%02d:%02d:%02d", h, m, s
|
|
STDOUT.flush
|
|
end
|
|
end
|
|
|
|
clock = Clock.new(Tick.new)
|
|
sleep
|