Send an unknown method call

Revision as of 22:53, 27 August 2011 by rosettacode>Kernigh (Python < Ruby. Link to runtime evaluation.)

Invoke an object method where the name of the method to be invoked can be generated at run time.

Send an unknown method call is a draft programming task. It is not yet considered ready to be promoted as a complete task, for reasons that should be found in its talk page.
Cf

Python

String literal "foo" may be replaced by any expression resulting in a string <lang python>class Example(object):

    def foo(self):
            return 42

getattr(Example(), "foo")() # => 42</lang>

Ruby

<lang ruby>class Example

 def foo
   42
 end
 def bar(arg1, arg2, &block)
   block.call arg1, arg2
 end

end

symbol = :foo Example.new.send symbol # => 42 Example.new.send( :bar, 1, 2 ) { |x,y| x+y } # => 3</lang>