Send an unknown method call
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>