Method: Object#__send__
- Defined in:
- lib/source/ruby.rb
#__send__(method, *args) ⇒ Object
call-seq:
obj.__send__(sym [, args...]) -> object
obj.send(sym [, args...]) -> object
Invokes the method identified by sym, passing it any arguments specified. 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"
233 234 235 236 237 |
# File 'lib/source/ruby.rb', line 233 def __send__(method,*args) `method=this['m$'+sym.__value__.replace('=','_eql').replace('!','_bang').replace('?','_bool')]` `if(!method){m$raise(c$NoMethodError,$q('undefined method "'+sym.__value__+'" for '+this));}` `method.apply(this,args)` end |