Newbie question: variable method call

Is there a way to use the value of a variable to call a method of that
name?

For example, rather than use the following code to determine which
method of the 'pet' object to call:

if action == "feed"
     pet.feed
elsif action == "walk"
     pet.walk
elsif action == "pat"
    pet.pat
#etc...
end

I'd rather just do something like this:

pet.action

The problem is, Ruby thinks I am trying to call a method named 'action',
instead of evaluating the variable and using its value (e.g. 'feed').

···

--
Posted via http://www.ruby-forum.com/.

pet.send action

Cheers-
-- Ezra Zygmuntowicz -- Lead Rails Evangelist
-- ez@engineyard.com
-- Engine Yard, Serious Rails Hosting
-- (866) 518-YARD (9273)

···

On May 25, 2007, at 10:50 PM, Kal Starkis wrote:

Is there a way to use the value of a variable to call a method of that
name?

For example, rather than use the following code to determine which
method of the 'pet' object to call:

if action == "feed"
     pet.feed
elsif action == "walk"
     pet.walk
elsif action == "pat"
    pet.pat
#etc...
end

I'd rather just do something like this:

pet.action

Thanks Ezra!

···

--
Posted via http://www.ruby-forum.com/.