Send an unknown method call: Difference between revisions

Content added Content deleted
(Task rewrite but maintaining original intent.)
m (Python < Ruby. Link to runtime evaluation.)
Line 5: Line 5:
;Cf:
;Cf:
* [[Respond to an unknown method call]].
* [[Respond to an unknown method call]].
* [[Runtime evaluation]]

=={{header|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>


=={{header|Ruby}}==
=={{header|Ruby}}==
<lang ruby>class Example

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

=={{header|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>