Dominik Bathon wrote: > First of all, this is no attempt to rival with James' nice Ruby Quiz ;-) > > I came up with a nice new(?) use for method_missing today. > Now it is your job to figure out what you can do with it. > (My hope is that someone will find nice uses for this, that I didn't > think of) > Interesting. > > And some questions: > > What does it do? > > What can it be used for? > > Has this been done before? (I couldn't find anything.) Reminds me of some code I wrote a few years ago when I was poking into method-oriented programming. Rather than have receiver.message( args ) I wanted to reverse things and do message( args )->[ list_of_receivers ] I hacked on Symbol and the result was that I could loop over a set of objects, or use a proc to conditionally send the message to objects in ObjectSpace (i.e., "I know what I want to do, I just don't know who to do it to"). The results were then collected and returned as an array. The call looked something like :message.>>( obj_set_or_criteria_proc ) { args } I never found a really practical application for this. Conceivably, one could close all open file handles, or shut down lingering socket connections, or save user sessions if the session was x minutes old, or whatever. It was mostly a "Gee, I wonder if ..." sort of thing, and the best scenario I could think of was if I had an app that might need a global shutdown, so one might want to dispatch a common set of messages across a range of unknown objects before ending. I never released the code, being unhappy with the syntax. But I still like the idea of casting a message out into object space and reeling back the results. BTW, I tried out your code, with a trivial example: p %w{ This is some text }.size Ah, but, of course, method_missing never gets called, so I did not get what I wanted. This works, though: p %w{ This is some text }.upcase So there is the issue of trying to distribute a method across the list when that method is also implemented by Array James -- http://www.ruby-doc.org - The Ruby Documentation Site http://www.rubyxml.com - News, Articles, and Listings for Ruby & XML http://www.rubystuff.com - The Ruby Store for Ruby Stuff http://www.jamesbritt.com - Playing with Better Toys