Re: Newbie question: variable method call

Assuming your variable contains a string, try this:

method_name = “feed”
pet.send(method_name)

-mats

----- Original Message ----
From: Kal S. [email protected]
To: ruby-talk ML [email protected]
Sent: Saturday, May 26, 2007 3:50:41 PM
Subject: 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’).

This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.

| Privacy Policy | Terms of Service | Remote Ruby Jobs