From: gruby / sysarchitects.com [mailto:gruby / sysarchitects.com] 
> a_method = "to_str"
> an_attribute = "color"
[ class def elided ]
> t = Toad.new("brown")
> puts t.color #brown
> t.to_str #brown toad.
> 
> Now how can I use the a_method and an_attribute variables? 

Everything in Ruby in accomplished through sending messages to objects.  So,
t.f can be written as t.send("f").  Your toad example can use:

   t.send(an_attribute + "=", "green")
   t.send(a_method)

If you are interested in instance variables only, you can use the
instance_variable_get and instance_variable_set methods as well ...

   t.instance_variable_get("@color")    #=> "green"
   t.instance_variable_set("@color", "purple")

BTW, Ruby expects your to_s method to return the string instead of printing
it.

-- 
-- Jim Weirich / Compuware
-- FWP Capture Services