From: Brian Candler Date: 2009-06-25T20:02:24+09:00 Subject: Re: self.__send__(:test_method) passing parameter to this Sijo Kg wrote: > Hi > How can I pass parameters to the method foo.__send__(:test_method, arg1, arg2) Or if the args are in an array already: foo.__send__(:test_method, *args) > And also would > like to know what is __ in __send__ ? It's two underscores :-) Here's what "ri send" says: -------------------------------------------------------- Object#__send__ obj.send(symbol [, args...]) => obj obj.__send__(symbol [, args...]) => obj ------------------------------------------------------------------------ Invokes the method identified by _symbol_, passing it any arguments specified. You can use +__send__+ if the name +send+ clashes with an existing method in _obj_. class Klass def hello(*args) "Hello " + args.join(' ') end end k = Klass.new k.send :hello, "gentle", "readers" #=> "Hello gentle readers" -- Posted via http://www.ruby-forum.com/.