From: Aa Aa Date: 2008-05-08T14:42:09+09:00 Subject: Re: Event handling Oke, I've implemented the following observer/listener program: class Cow def initialize @listeners = Array.new end def add_listener(listener) raise ArgumentError if !listener.respond_to?(:sound_event) && !listeners.include?(listener) @listeners << listener end def remove_listener(listener) @listeners.delete(listener) end def notify_listeners for i in 0...@listeners.length @listeners[i].sound_event('MHOEEEE') end end def be_happy notify_listeners end end class Program def sound_event(value) puts value end def start cow = Cow.new cow.add_listener(self) cow.be_happy end end Program.new.start Is this an appropriate way of doing event handling in ruby? -- Posted via http://www.ruby-forum.com/.