From: Giulio Piancastelli Date: 2004-11-28T01:22:53+09:00 Subject: How does Object#send work? I'm wondering... does Object#send start from the Object class to search for the method to execute? I'm leading to this conclusion because of a little class I'm working on where I'm using send to execute methods, and one of the methods I'm trying to execute is called 'select' and takes a number as its parameter. Unfortunately, this name happens to clash with Kernel.select, which instead takes an array as a parameter. Thus, an exception is thrown, leading to the "wrong argument type Fixnum (expected Array)" message. I suppose it's impossible to make Object#send search from where the method has been called instead of Object itself... but, is there a way to have the B#select method called instead of the select method in Kernel? I'd like not to change names nor the design of A and B, if that's possible. On the other hand, the following sketch just works: class A def make_it_so arg0 send(arg0.text, 1) end end class B < A def select index puts index end end b = B.new b.make_it_so(param) # where param.text returns 'select' so, it's probably that I don't understand what's really happening... Can anyone help enlight me on the topic? Best Regards, Giulio Piancastelli.