Send an unknown method call: Difference between revisions
Content added Content deleted
(Added Python) |
m (→{{header|Python}}: added evaluation results) |
||
Line 27: | Line 27: | ||
return 42 |
return 42 |
||
getattr(Example(), "foo")() |
getattr(Example(), "foo")() # => 42 |
||
</pre> |
</pre> |
Revision as of 22:18, 27 August 2011
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.
Send a message to an object without knowing the name of the message. See also Respond to an unknown method call.
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
Python
class Example(object): def foo(self): return 42 getattr(Example(), "foo")() # => 42